§
    „ßjO#  ã                  óÚ  — d dl mZ d dlmZ d dlZd dlmZ d dl	m
Z
 ddlmZ ej        rd dlZ ej        d¦  «        Z ej        d¦  «        Z ej        d	¦  «        Z ej        d
ej        dej        f         ¬¦  «        Zdd„Z G d„ d¦  «        Z G d„ dej        eef         ¦  «        Z G d„ deeef         ¦  «        Z G d„ d¦  «        Zdd„Z G d„ deeef         ¦  «        ZdS ) é    )ÚannotationsN©Úupdate_wrapper)Úrepeaté   )Ú_missingÚKÚVÚTÚF.)ÚboundÚselfút.AnyÚreturnú
t.NoReturnc                óJ   — t          t          | ¦  «        j        ›d�¦  «        ‚)Nz objects are immutable)Ú	TypeErrorÚtypeÚ__name__©r   s    úQ/var/www/html/venv/lib/python3.11/site-packages/werkzeug/datastructures/mixins.pyÚ_immutable_errorr      s"   € Ý
•t˜D‘z”zÔ*ÐDÐDÐDÑ
EÔ
EÐEó    c                  óŽ   — e Zd ZU dZdZded<   d#d„Zd$d„Zd%d„Zd&d„Z	d&d„Z
d'd„Zd(d„Zd(d„Zd)d„Zd*d„Zd+d,d„Zd-d„Zd.d/d"„ZdS )0ÚImmutableListMixinzOMakes a :class:`list` immutable.

    .. versionadded:: 0.5

    :private:
    Nú
int | NoneÚ_hash_cacher   Úintc                óh   — | j         �| j         S t          t          | ¦  «        ¦  «        x}| _         |S ©N)r   ÚhashÚtuple©r   Úrvs     r   Ú__hash__zImmutableListMixin.__hash__!   s4   € ØÔÐ'ØÔ#Ð#Ý $¥U¨4¡[¤[Ñ 1Ô 1Ð1ˆˆTÔØˆ	r   Úprotocolút.SupportsIndexr   c                ó@   — t          | ¦  «        t          | ¦  «        ffS r    )r   Úlist©r   r&   s     r   Ú__reduce_ex__z ImmutableListMixin.__reduce_ex__'   ó   € Ý�D‰zŒz�D ™JœJ˜=Ð(Ð(r   Úkeyr   c                ó$   — t          | ¦  «         d S r    ©r   ©r   r-   s     r   Ú__delitem__zImmutableListMixin.__delitem__*   ó   € Ý˜ÑÔÐÐÐr   Úotherc                ó$   — t          | ¦  «         d S r    r/   ©r   r3   s     r   Ú__iadd__zImmutableListMixin.__iadd__-   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r5   s     r   Ú__imul__zImmutableListMixin.__imul__0   r2   r   Úvaluec                ó$   — t          | ¦  «         d S r    r/   ©r   r-   r9   s      r   Ú__setitem__zImmutableListMixin.__setitem__3   r2   r   Úitemc                ó$   — t          | ¦  «         d S r    r/   ©r   r=   s     r   ÚappendzImmutableListMixin.append6   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r?   s     r   ÚremovezImmutableListMixin.remove9   r2   r   Úiterablec                ó$   — t          | ¦  «         d S r    r/   )r   rC   s     r   ÚextendzImmutableListMixin.extend<   r2   r   Úposc                ó$   — t          | ¦  «         d S r    r/   ©r   rF   r9   s      r   ÚinsertzImmutableListMixin.insert?   r2   r   éÿÿÿÿÚindexc                ó$   — t          | ¦  «         d S r    r/   )r   rK   s     r   ÚpopzImmutableListMixin.popB   r2   r   r   c                ó$   — t          | ¦  «         d S r    r/   r   s    r   ÚreversezImmutableListMixin.reverseE   r2   r   FrO   c                ó$   — t          | ¦  «         d S r    r/   )r   r-   rO   s      r   ÚsortzImmutableListMixin.sortH   r2   r   ©r   r   ©r&   r'   r   r   ©r-   r   r   r   ©r3   r   r   r   ©r-   r   r9   r   r   r   )r=   r   r   r   )rC   r   r   r   ©rF   r   r9   r   r   r   )rJ   )rK   r   r   r   ©r   r   r   r   )NF)r-   r   rO   r   r   r   )r   Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r%   r+   r1   r6   r8   r<   r@   rB   rE   rI   rM   rO   rQ   © r   r   r   r      sA  € € € € € € ðð ð #€KÐ"Ð"Ð"Ñ"ðð ð ð ð)ð )ð )ð )ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ðð ð ð ðð ð ð ð ð ð r   r   c                  ó  ‡ — e Zd ZU dZdZded<   eej        d(d„¦   «         ¦   «         Z	eej        d)d„¦   «         ¦   «         Z	e	 d*d+ˆ fd„¦   «         Z	d,d„Z
d-d„Zd.d„Zd*d/d„Zd0d „Zd1d"„Zd*d/d#„Zd2d$„Zd3d%„Zd4d&„Zd2d'„Zˆ xZS )5ÚImmutableDictMixinzŽMakes a :class:`dict` immutable.

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

    .. versionadded:: 0.5

    :private:
    Nr   r   Úkeysúcabc.Iterable[K]r9   ÚNoner   ú#ImmutableDictMixin[K, t.Any | None]c                ó   — d S r    r]   ©Úclsr`   r9   s      r   ÚfromkeyszImmutableDictMixin.fromkeysY   s	   € ð /2¨cr   r
   úImmutableDictMixin[K, V]c                ó   — d S r    r]   re   s      r   rg   zImmutableDictMixin.fromkeys^   s   € àUXÐUXr   úV | Noneú>ImmutableDictMixin[K, t.Any | None] | ImmutableDictMixin[K, V]c                óª   •— t          ¦   «                              | ¦  «        }|                     t          |t	          |¦  «        ¦  «        ¦  «         |S r    )ÚsuperÚ__new__Ú__init__Úzipr   )rf   r`   r9   ÚinstanceÚ	__class__s       €r   rg   zImmutableDictMixin.fromkeysa   sC   ø€ õ ‘7”7—?’? 3Ñ'Ô'ˆØ×Ò�#˜d¥F¨5¡M¤MÑ2Ô2Ñ3Ô3Ð3Øˆr   r&   r'   r   c                ó@   — t          | ¦  «        t          | ¦  «        ffS r    )r   Údictr*   s     r   r+   z ImmutableDictMixin.__reduce_ex__i   r,   r   út.Iterable[t.Any]c                ó*   — |                       ¦   «         S r    ©Úitemsr   s    r   Ú_iter_hashitemsz"ImmutableDictMixin._iter_hashitemsl   s   € Ø�zŠz‰|Œ|Ðr   r   c                óŒ   — | j         �| j         S t          t          |                      ¦   «         ¦  «        ¦  «        x}| _         |S r    )r   r!   Ú	frozensetry   r#   s     r   r%   zImmutableDictMixin.__hash__o   sB   € ØÔÐ'ØÔ#Ð#Ý $¥Y¨t×/CÒ/CÑ/EÔ/EÑ%FÔ%FÑ GÔ GÐGˆˆTÔØˆ	r   r-   Údefaultr   c                ó$   — t          | ¦  «         d S r    r/   ©r   r-   r|   s      r   Ú
setdefaultzImmutableDictMixin.setdefaultu   r2   r   ÚargÚkwargsc               ó$   — t          | ¦  «         d S r    r/   ©r   r€   r�   s      r   ÚupdatezImmutableDictMixin.updatex   r2   r   r3   c                ó$   — t          | ¦  «         d S r    r/   r5   s     r   Ú__ior__zImmutableDictMixin.__ior__{   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r~   s      r   rM   zImmutableDictMixin.pop~   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r   s    r   ÚpopitemzImmutableDictMixin.popitem�   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r;   s      r   r<   zImmutableDictMixin.__setitem__„   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r0   s     r   r1   zImmutableDictMixin.__delitem__‡   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r   s    r   ÚclearzImmutableDictMixin.clearŠ   r2   r   )r`   ra   r9   rb   r   rc   )r`   ra   r9   r
   r   rh   r    )r`   ra   r9   rj   r   rk   rS   ©r   ru   rR   ©r-   r   r|   r   r   r   ©r€   r   r�   r   r   r   rU   ©r   r   rV   rT   )r   rY   rZ   r[   r   r\   ÚclassmethodÚtÚoverloadrg   r+   ry   r%   r   r„   r†   rM   r‰   r<   r1   r�   Ú__classcell__©rr   s   @r   r_   r_   L   s¢  ø€ € € € € € ðð ð #€KÐ"Ð"Ð"Ñ"àØ„Zð2ð 2ð 2ñ „Zñ „[ð2ð Ø„ZØXÐXÐXñ „Zñ „[àXØà7;ðð ð ð ð ð ñ „[ðð)ð )ð )ð )ðð ð ð ðð ð ð ðð ð ð ð ðð ð ð ðð ð ð ðð ð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð ð ð r   r_   c                  óL   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	ddd„Z
dS )ÚImmutableMultiDictMixinzTMakes a :class:`MultiDict` immutable.

    .. versionadded:: 0.5

    :private:
    r&   r'   r   r   c                óh   — t          | ¦  «        t          |                      d¬¦  «        ¦  «        ffS ©NT)Úmulti)r   r)   rx   r*   s     r   r+   z%ImmutableMultiDictMixin.__reduce_ex__–   s,   € Ý�D‰zŒz�D §¢°$ Ñ!7Ô!7Ñ8Ô8Ð:Ð:Ð:r   ru   c                ó.   — |                       d¬¦  «        S rš   rw   r   s    r   ry   z'ImmutableMultiDictMixin._iter_hashitems™   s   € Ø�zŠz ˆzÑ%Ô%Ð%r   r-   r9   r   c                ó$   — t          | ¦  «         d S r    r/   r;   s      r   ÚaddzImmutableMultiDictMixin.addœ   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r   s    r   Úpopitemlistz#ImmutableMultiDictMixin.popitemlistŸ   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r0   s     r   ÚpoplistzImmutableMultiDictMixin.poplist¢   r2   r   Únew_listc                ó$   — t          | ¦  «         d S r    r/   )r   r-   r£   s      r   ÚsetlistzImmutableMultiDictMixin.setlist¥   r2   r   NÚdefault_listc                ó$   — t          | ¦  «         d S r    r/   )r   r-   r¦   s      r   Úsetlistdefaultz&ImmutableMultiDictMixin.setlistdefault¨   r2   r   rS   rŽ   rV   r‘   rT   )r-   r   r£   r   r   r   r    )r-   r   r¦   r   r   r   )r   rY   rZ   r[   r+   ry   rž   r    r¢   r¥   r¨   r]   r   r   r˜   r˜   Ž   s¯   € € € € € ðð ð;ð ;ð ;ð ;ð&ð &ð &ð &ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð ð r   r˜   c                  ó�   — e Zd ZdZdd„Zdd	„Zdd
„Zd d„Zdd„Zdd„Z	d!d„Z
d"d„Zd"d„Zd#d„Zd$d„Zdefd%d„Zd&d„Zd%d„Zd%d„ZdS )'ÚImmutableHeadersMixina  Makes 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:
    r-   r   r�   r   r   c                ó$   — t          | ¦  «         d S r    r/   )r   r-   r�   s      r   r1   z!ImmutableHeadersMixin.__delitem__¹   r2   r   r9   c                ó$   — t          | ¦  «         d S r    r/   r;   s      r   r<   z!ImmutableHeadersMixin.__setitem__¼   r2   r   c               ó$   — t          | ¦  «         d S r    r/   ©r   r-   r9   r�   s       r   ÚsetzImmutableHeadersMixin.set¿   r2   r   Úvaluesc                ó$   — t          | ¦  «         d S r    r/   )r   r-   r°   s      r   r¥   zImmutableHeadersMixin.setlistÂ   r2   r   c               ó$   — t          | ¦  «         d S r    r/   r®   s       r   rž   zImmutableHeadersMixin.addÅ   r2   r   c               ó$   — t          | ¦  «         d S r    r/   r®   s       r   Ú
add_headerz ImmutableHeadersMixin.add_headerÈ   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r0   s     r   rB   zImmutableHeadersMixin.removeË   r2   r   r€   c               ó$   — t          | ¦  «         d S r    r/   rƒ   s      r   rE   zImmutableHeadersMixin.extendÎ   r2   r   c               ó$   — t          | ¦  «         d S r    r/   rƒ   s      r   r„   zImmutableHeadersMixin.updateÑ   r2   r   r3   c                ó$   — t          | ¦  «         d S r    r/   r5   s     r   r†   zImmutableHeadersMixin.__ior__Ô   r2   r   rF   c                ó$   — t          | ¦  «         d S r    r/   rH   s      r   rI   zImmutableHeadersMixin.insert×   r2   r   Nr|   c                ó$   — t          | ¦  «         d S r    r/   r~   s      r   rM   zImmutableHeadersMixin.popÚ   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r   s    r   r‰   zImmutableHeadersMixin.popitemÝ   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r~   s      r   r   z ImmutableHeadersMixin.setdefaultà   r2   r   c                ó$   — t          | ¦  «         d S r    r/   r~   s      r   r¨   z$ImmutableHeadersMixin.setlistdefaultã   r2   r   )r-   r   r�   r   r   r   rV   )r-   r   r9   r   r�   r   r   r   )r-   r   r°   r   r   r   rT   r�   rU   rW   r�   r‘   )r   rY   rZ   r[   r1   r<   r¯   r¥   rž   r´   rB   rE   r„   r†   rI   r   rM   r‰   r   r¨   r]   r   r   rª   rª   ¬   sV  € € € € € ð
ð 
ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð  $°hð ð ð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð r   rª   Úfc                ó0   ‡ — dˆ fd„}t          |‰ ¦  «        S )	Nr   úUpdateDictMixin[t.Any, t.Any]Úargsr   r�   r   c               óX   •—  ‰| g|¢R i |¤Ž}| j         �|                       | ¦  «         |S r    )Ú	on_update)r   rÁ   r�   r$   r¾   s       €r   Úwrapperz_always_update.<locals>.wrapperè   sC   ø€ ð ˆQˆtÐ%�dÐ%Ð%Ð%˜fÐ%Ð%ˆàŒ>Ð%Ø�NŠN˜4Ñ Ô Ð àˆ	r   )r   rÀ   rÁ   r   r�   r   r   r   r   )r¾   rÄ   s   ` r   Ú_always_updaterÅ   ç   s3   ø€ ðð ð ð ð ð õ ˜' 1Ñ%Ô%Ð%r   c                  óX  ‡ — e Zd ZU dZdZded<   d"d#ˆ fd„Zej        d$d„¦   «         Z	ej        d%d„¦   «         Z	ej        d&d„¦   «         Z	e
fd'ˆ fd„Z	ed(ˆ fd„¦   «         Zed)ˆ fd„¦   «         Zed*ˆ fd„¦   «         Zed+ˆ fd„¦   «         Ze	 d"d,ˆ fd„¦   «         Zed-ˆ fd!„¦   «         Zˆ xZS ).Ú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Ã   r   úte.Selfr-   r	   r|   rj   r   r
   c                ó�   •— || v}t          ¦   «                              ||¦  «        }|r| j        �|                      | ¦  «         |S r    )rm   r   rÃ   ©r   r-   r|   Úmodifiedr$   rr   s        €r   r   zUpdateDictMixin.setdefault  sK   ø€ Ø˜d�?ˆÝ‰WŒW×Ò  WÑ-Ô-ˆØð 	!˜œÐ2Ø�NŠN˜4Ñ Ô Ð Øˆ	r   c                ó   — d S r    r]   r0   s     r   rM   zUpdateDictMixin.pop	  s   € Ø),¨r   c                ó   — d S r    r]   r~   s      r   rM   zUpdateDictMixin.pop  ó   € Ø58°Sr   r   c                ó   — d S r    r]   r~   s      r   rM   zUpdateDictMixin.pop  rÎ   r   úV | Tc                óæ   •— || v }|t           u r"t          ¦   «                              |¦  «        }n"t          ¦   «                              ||¦  «        }|r| j        �|                      | ¦  «         |S r    )r   rm   rM   rÃ   rÊ   s        €r   rM   zUpdateDictMixin.pop  sm   ø€ ð
 ˜$�;ˆØ•hÐÐÝ™œŸš CÑ(Ô(ˆBˆBå‘”—’˜S 'Ñ*Ô*ˆBØð 	!˜œÐ2Ø�NŠN˜4Ñ Ô Ð Øˆ	r   r9   rb   c                óL   •— t          ¦   «                              ||¦  «         d S r    )rm   r<   )r   r-   r9   rr   s      €r   r<   zUpdateDictMixin.__setitem__  s#   ø€ å‰Œ×Ò˜C Ñ'Ô'Ð'Ð'Ð'r   c                óJ   •— t          ¦   «                              |¦  «         d S r    )rm   r1   )r   r-   rr   s     €r   r1   zUpdateDictMixin.__delitem__!  s!   ø€ å‰Œ×Ò˜CÑ Ô Ð Ð Ð r   c                óH   •— t          ¦   «                              ¦   «          d S r    )rm   r�   ©r   rr   s    €r   r�   zUpdateDictMixin.clear%  s   ø€ å‰Œ�Š‰Œˆˆˆr   útuple[K, V]c                óD   •— t          ¦   «                              ¦   «         S r    )rm   r‰   rÕ   s    €r   r‰   zUpdateDictMixin.popitem)  s   ø€ å‰wŒw�ŠÑ Ô Ð r   r€   ú6cabc.Mapping[K, V] | cabc.Iterable[tuple[K, V]] | Noner�   c               óv   •— |€ t          ¦   «         j        di |¤Ž d S  t          ¦   «         j        |fi |¤Ž d S )Nr]   )rm   r„   )r   r€   r�   rr   s      €r   r„   zUpdateDictMixin.update-  sP   ø€ ð ˆ;Ø�E‰GŒGŒNÐ$Ð$˜VÐ$Ð$Ð$Ð$Ð$à�E‰GŒGŒN˜3Ð)Ð) &Ð)Ð)Ð)Ð)Ð)r   r3   ú/cabc.Mapping[K, V] | cabc.Iterable[tuple[K, V]]c                óF   •— t          ¦   «                              |¦  «        S r    )rm   r†   )r   r3   rr   s     €r   r†   zUpdateDictMixin.__ior__9  s   ø€ õ ‰wŒw�Š˜uÑ%Ô%Ð%r   r    )r   rÈ   r-   r	   r|   rj   r   r
   )r   rÈ   r-   r	   r   r
   )r   rÈ   r-   r	   r|   r
   r   r
   )r   rÈ   r-   r	   r|   r   r   r   )r   rÈ   r-   r	   r|   rÐ   r   rÐ   )r-   r	   r9   r
   r   rb   )r-   r	   r   rb   )r   rb   )r   rÖ   )r€   rØ   r�   r
   r   rb   )r3   rÚ   r   rÈ   )r   rY   rZ   r[   rÃ   r\   r   r“   r”   rM   r   rÅ   r<   r1   r�   r‰   r„   r†   r•   r–   s   @r   rÇ   rÇ   õ   sÛ  ø€ € € € € € ðð ð 8<€IÐ;Ð;Ð;Ñ;ðð ð ð ð ð ð ð „ZØ,Ð,Ð,ñ „ZØ,Ø„ZØ8Ð8Ð8ñ „ZØ8Ø„ZØ8Ð8Ð8ñ „ZØ8ð "ðð ð ð ð ð ð ð ð(ð (ð (ð (ð (ñ „^ð(ð ð!ð !ð !ð !ð !ñ „^ð!ð ðð ð ð ð ñ „^ðð ð!ð !ð !ð !ð !ñ „^ð!ð ð GKð	*ð 	*ð 	*ð 	*ð 	*ð 	*ñ „^ð	*ð ð&ð &ð &ð &ð &ñ „^ð&ð &ð &ð &ð &r   rÇ   rX   )r¾   r   r   r   ) Ú
__future__r   Úcollections.abcÚabcÚcabcÚtypingr“   Ú	functoolsr   Ú	itertoolsr   Ú	_internalr   ÚTYPE_CHECKINGÚtyping_extensionsÚteÚTypeVarr	   r
   r   ÚCallableÚAnyr   r   r   ÚGenericr_   r˜   rª   rÅ   rt   rÇ   r]   r   r   ú<module>rë      sþ  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð à  Ð  Ð  Ð  Ð  Ð  à„?ð #Ø"Ð"Ð"Ð"à€A„Iˆc�N„N€Ø€A„Iˆc�N„N€Ø€A„Iˆc�N„N€Ø€A„Iˆc˜œ s¨A¬E zÔ2Ð3Ñ3Ô3€ðFð Fð Fð Fð2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ðj?ð ?ð ?ð ?ð ?˜œ 1 a 4œñ ?ô ?ð ?ðDð ð ð ð Ð0°°A°Ô6ñ ô ð ð<8ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ðv&ð &ð &ð &ðH&ð H&ð H&ð H&ð H&�d˜1˜a˜4”jñ H&ô H&ð H&ð H&ð H&r   