Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/werkzeug/datastructures/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/werkzeug/datastructures/__pycache__/mixins.cpython-312.pyc

�

'ٜgC#����ddlmZddlmZddlZddlmZddl	m
Z
ddlmZejrddlZej d�Zej d�Zej d	�Zej d
ej(dej*f��Zdd
�ZGd�d�ZGd�dej2eef�ZGd�deeef�ZGd�d�Zdd�ZGd�deeef�Zy)�)�annotationsN��update_wrapper)�repeat�)�_missing�K�V�T�F.)�boundc�D�tt|�j�d���)Nz objects are immutable)�	TypeError�type�__name__��selfs �I/usr/local/lib/python3.12/site-packages/werkzeug/datastructures/mixins.py�_immutable_errorrs ��
�t�D�z�*�*�-�-C�D�
E�E�c��eZdZUdZdZded<dd�Zdd�Zdd�Zdd�Z	dd	�Z
dd
�Zdd�Zdd�Z
dd
�Zdd�Zddd�Zdd�Zddd�Zy)�ImmutableListMixinzOMakes a :class:`list` immutable.

    .. versionadded:: 0.5

    :private:
    N�
int | None�_hash_cachec�l�|j�|jStt|��x}|_|S�N)r�hash�tuple�r�rvs  r�__hash__zImmutableListMixin.__hash__!s5�����'��#�#�#� $�U�4�[� 1�1��T�
��	rc�0�t|�t|�ffSr)r�list�r�protocols  r�
__reduce_ex__z ImmutableListMixin.__reduce_ex__'����D�z�D��J�=�(�(rc��t|�yr�r�r�keys  r�__delitem__zImmutableListMixin.__delitem__*�
����rc��t|�yrr)�r�others  r�__iadd__zImmutableListMixin.__iadd__-r-rc��t|�yrr)r/s  r�__imul__zImmutableListMixin.__imul__0r-rc��t|�yrr)�rr+�values   r�__setitem__zImmutableListMixin.__setitem__3r-rc��t|�yrr)�r�items  r�appendzImmutableListMixin.append6r-rc��t|�yrr)r9s  r�removezImmutableListMixin.remove9r-rc��t|�yrr))r�iterables  r�extendzImmutableListMixin.extend<r-rc��t|�yrr)�r�posr6s   r�insertzImmutableListMixin.insert?r-rc��t|�yrr))r�indexs  r�popzImmutableListMixin.popBr-rc��t|�yrr)rs r�reversezImmutableListMixin.reverseEr-rc��t|�yrr))rr+rIs   r�sortzImmutableListMixin.sortHr-r��return�int�r%zt.SupportsIndexrM�t.Any�r+rPrM�
t.NoReturn�r0rPrMrR�r+rPr6rPrMrR)r:rPrMrR)r?rPrMrR�rCrPr6rPrMrR)���)rFrPrMrR�rrPrMrR)NF)r+rPrIrPrMrR)r�
__module__�__qualname__�__doc__r�__annotations__r!r&r,r1r3r7r;r=r@rDrGrIrK�rrrrsT���#�K��"��)�����������rrc���eZdZUdZdZded<eej						dd���Z	eejdd���Z	e	d					d�fd�
�Z	dd�Z
dd	�Zdd
�Zddd�Z
dd�Zdd
�Zddd�Zdd�Zdd�Zdd�Zdd�Z�xZS) �ImmutableDictMixinz�Makes a :class:`dict` immutable.

    .. versionchanged:: 3.1
        Disallow ``|=`` operator.

    .. versionadded:: 0.5

    :private:
    Nrrc��yrr\��cls�keysr6s   r�fromkeyszImmutableDictMixin.fromkeysYs��/2rc��yrr\r`s   rrczImmutableDictMixin.fromkeys^s��UXrc�n��t�|�|�}|jt|t	|���|Sr)�super�__new__�__init__�zipr)rarbr6�instance�	__class__s    �rrczImmutableDictMixin.fromkeysas1����7�?�3�'�����#�d�F�5�M�2�3��rc�0�t|�t|�ffSr)r�dictr$s  rr&z ImmutableDictMixin.__reduce_ex__ir'rc�"�|j�Sr��itemsrs r�_iter_hashitemsz"ImmutableDictMixin._iter_hashitemsls���z�z�|�rc��|j�|jStt|j���x}|_|Sr)rr�	frozensetrqrs  rr!zImmutableDictMixin.__hash__os?�����'��#�#�#� $�Y�t�/C�/C�/E�%F� G�G��T�
��	rc��t|�yrr)�rr+�defaults   r�
setdefaultzImmutableDictMixin.setdefaultur-rc��t|�yrr)�r�arg�kwargss   r�updatezImmutableDictMixin.updatexr-rc��t|�yrr)r/s  r�__ior__zImmutableDictMixin.__ior__{r-rc��t|�yrr)rus   rrGzImmutableDictMixin.pop~r-rc��t|�yrr)rs r�popitemzImmutableDictMixin.popitem�r-rc��t|�yrr)r5s   rr7zImmutableDictMixin.__setitem__�r-rc��t|�yrr)r*s  rr,zImmutableDictMixin.__delitem__�r-rc��t|�yrr)rs r�clearzImmutableDictMixin.clear�r-r)rb�cabc.Iterable[K]r6�NonerMz#ImmutableDictMixin[K, t.Any | None])rbr�r6r
rMzImmutableDictMixin[K, V]r)rbr�r6�V | NonerMz>ImmutableDictMixin[K, t.Any | None] | ImmutableDictMixin[K, V]rO�rMzt.Iterable[t.Any]rL�r+rPrvrPrMrR�rzrPr{rPrMrRrS�rMrRrTrQ)rrXrYrZrr[�classmethod�t�overloadrcr&rqr!rwr|r~rGr�r7r,r��
__classcell__�rks@rr^r^Ls�����#�K��"���Z�Z�2�#�2�,0�2�	,�2���2���Z�Z�X���X��7;��#��,4��	G����)����������rr^c�J�eZdZdZd
d�Zdd�Zdd�Zd
d�Zdd�Zdd�Z	ddd	�Z
y)�ImmutableMultiDictMixinzTMakes a :class:`MultiDict` immutable.

    .. versionadded:: 0.5

    :private:
    c�P�t|�t|jd���ffS�NT)�multi)rr#rpr$s  rr&z%ImmutableMultiDictMixin.__reduce_ex__�s$���D�z�D����$��!7�8�:�:�:rc�&�|jd��Sr�rors rrqz'ImmutableMultiDictMixin._iter_hashitems�s���z�z��z�%�%rc��t|�yrr)r5s   r�addzImmutableMultiDictMixin.add�r-rc��t|�yrr)rs r�popitemlistz#ImmutableMultiDictMixin.popitemlist�r-rc��t|�yrr)r*s  r�poplistzImmutableMultiDictMixin.poplist�r-rc��t|�yrr))rr+�new_lists   r�setlistzImmutableMultiDictMixin.setlist�r-rNc��t|�yrr))rr+�default_lists   r�setlistdefaultz&ImmutableMultiDictMixin.setlistdefault�r-rrOr�rTr�rQ)r+rPr�rPrMrRr)r+rPr�rPrMrR)rrXrYrZr&rqr�r�r�r�r�r\rrr�r��s*���;�&�����rr�c��eZdZdZdd�Zdd�Zdd�Zdd�Zdd�Zdd�Z	dd�Z
dd	�Zdd
�Zdd�Z
dd�Zd
efdd�Zdd�Zdd�Zdd�Zy
)�ImmutableHeadersMixinaMakes a :class:`Headers` immutable.  We do not mark them as
    hashable though since the only usecase for this datastructure
    in Werkzeug is a view on a mutable structure.

    .. versionchanged:: 3.1
        Disallow ``|=`` operator.

    .. versionadded:: 0.5

    :private:
    c��t|�yrr))rr+r{s   rr,z!ImmutableHeadersMixin.__delitem__�r-rc��t|�yrr)r5s   rr7z!ImmutableHeadersMixin.__setitem__�r-rc��t|�yrr)�rr+r6r{s    r�setzImmutableHeadersMixin.set�r-rc��t|�yrr))rr+�valuess   rr�zImmutableHeadersMixin.setlist�r-rc��t|�yrr)r�s    rr�zImmutableHeadersMixin.add�r-rc��t|�yrr)r�s    r�
add_headerz ImmutableHeadersMixin.add_header�r-rc��t|�yrr)r*s  rr=zImmutableHeadersMixin.remove�r-rc��t|�yrr)rys   rr@zImmutableHeadersMixin.extend�r-rc��t|�yrr)rys   rr|zImmutableHeadersMixin.update�r-rc��t|�yrr)r/s  rr~zImmutableHeadersMixin.__ior__�r-rc��t|�yrr)rBs   rrDzImmutableHeadersMixin.insert�r-rNc��t|�yrr)rus   rrGzImmutableHeadersMixin.pop�r-rc��t|�yrr)rs rr�zImmutableHeadersMixin.popitem�r-rc��t|�yrr)rus   rrwz ImmutableHeadersMixin.setdefault�r-rc��t|�yrr)rus   rr�z$ImmutableHeadersMixin.setlistdefault�r-r)r+rPr{rPrMrRrT)r+rPr6rPr{rPrMrR)r+rPr�rPrMrRrQr�rSrUr�r�)rrXrYrZr,r7r�r�r�r�r=r@r|r~rDrrGr�rwr�r\rrr�r��sY��
������������ $�h����rr�c�8��								d�fd�}t|��S)Nc�Z���|g|��i|��}|j�|j|�|Sr)�	on_update)r�argsr{r �fs    �r�wrapperz_always_update.<locals>.wrapper�s4����t�
%�d�
%�f�
%���>�>�%��N�N�4� ��	r)rzUpdateDictMixin[t.Any, t.Any]r�rPr{rPrMrPr)r�r�s` r�_always_updater��s7����+��7<��HM��	���'�1�%�%rc�`��eZdZUdZdZded<dd�fd�
Zejdd��Z	ejdd��Z	ejdd��Z	e
f							d�fd	�
Z	ed�fd
��Zed�fd��Z
ed�fd��Zed�fd
��Ze	d					d�fd�
�Ze				d�fd��Z�xZS)�UpdateDictMixinz�Makes dicts call `self.on_update` on modifications.

    .. versionchanged:: 3.1
        Implement ``|=`` operator.

    .. versionadded:: 0.5

    :private:
    Nz%cabc.Callable[[te.Self], None] | Noner�c�n��||v}t�|�||�}|r|j�|j|�|Sr)rfrwr��rr+rv�modifiedr rks     �rrwzUpdateDictMixin.setdefaults:����d�?��
�W�
��W�
-������2��N�N�4� ��	rc��yrr\r*s  rrGzUpdateDictMixin.pop	s��),rc��yrr\rus   rrGzUpdateDictMixin.pop���58rc��yrr\rus   rrGzUpdateDictMixin.pop
r�rc���||v}|turt�|�	|�}nt�|�	||�}|r|j�|j|�|Sr)rrfrGr�r�s     �rrGzUpdateDictMixin.popsQ���
�$�;���h�����S�!�B����S�'�*�B�����2��N�N�4� ��	rc�&��t�|�||�yr)rfr7)rr+r6rks   �rr7zUpdateDictMixin.__setitem__s���
���C��'rc�$��t�|�|�yr)rfr,)rr+rks  �rr,zUpdateDictMixin.__delitem__!s���
���C� rc�"��t�|��yr)rfr��rrks �rr�zUpdateDictMixin.clear%s���
��
�rc� ��t�|��Sr)rfr�r�s �rr�zUpdateDictMixin.popitem)s����w�� � rc�J��|�t�|�di|��yt�|�|fi|��y)Nr\)rfr|)rrzr{rks   �rr|zUpdateDictMixin.update-s*����;��G�N�$�V�$��G�N�3�)�&�)rc�"��t�|�|�Sr)rfr~)rr0rks  �rr~zUpdateDictMixin.__ior__9s����w��u�%�%rr)r�te.Selfr+r	rvr�rMr
)rr�r+r	rMr
)rr�r+r	rvr
rMr
)rr�r+r	rvrrMr)rr�r+r	rv�V | TrMr�)r+r	r6r
rMr�)r+r	rMr�)rMr�)rMztuple[K, V])rzz6cabc.Mapping[K, V] | cabc.Iterable[tuple[K, V]] | Noner{r
rMr�)r0z/cabc.Mapping[K, V] | cabc.Iterable[tuple[K, V]]rMr�)rrXrYrZr�r[rwr�r�rGrr�r7r,r�r�r|r~r�r�s@rr�r��s+����8<�I�4�;���Z�Z�,��,��Z�Z�8��8��Z�Z�8��8�"����
����
�	��(��(��!��!������!��!��GK�	*�
C�	*��		*�

�	*��	*��&�D�&�	�&��&rr�rW)r�rrMr) �
__future__r�collections.abc�abc�cabc�typingr��	functoolsr�	itertoolsr�	_internalr�
TYPE_CHECKING�typing_extensions�te�TypeVarr	r
r�Callable�Anyrrr�Genericr^r�r�r�rmr�r\rr�<module>r�s���"���$�� ��?�?�"�
�A�I�I�c�N��
�A�I�I�c�N��
�A�I�I�c�N��
�A�I�I�c����s�A�E�E�z�2�3��F�2�2�j?����1�a�4��?�D�0��A��6��<8�8�v&�H&�d�1�a�4�j�H&r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists