ó
    pñ:iG'  ã                  ó¶   • S SK Jr  S SKrS SKrS SKJr  S SKrSSK	J
r
  SSK	Jr  SSK	Jr  SSKJr  \R                  (       a  S SKr " S	 S
5      r " S S5      rg)é    )ÚannotationsNé   )Údump_header)Úparse_dict_header)Úquote_header_valueé   )ÚCallbackDictc                  ó    • \ rS rSrSr  S       SS jjrSS jrSS jrSSS jjrSS jr	SS	 jr
\SS
 j5       rSS jrSS jrSS jrSrg)ÚAuthorizationé   a{  Represents the parts of an ``Authorization`` request header.

:attr:`.Request.authorization` returns an instance if the header is set.

An instance can be used with the test :class:`.Client` request methods' ``auth``
parameter to send the header in test requests.

Depending on the auth scheme, either :attr:`parameters` or :attr:`token` will be
set. The ``Basic`` scheme's token is decoded into the ``username`` and ``password``
parameters.

For convenience, ``auth["key"]`` and ``auth.key`` both access the key in the
:attr:`parameters` dict, along with ``auth.get("key")`` and ``"key" in auth``.

.. versionchanged:: 2.3
    The ``token`` parameter and attribute was added to support auth schemes that use
    a token instead of parameters, such as ``Bearer``.

.. versionchanged:: 2.3
    The object is no longer a ``dict``.

.. versionchanged:: 0.5
    The object is an immutable dict.
Nc                ó6   • Xl          Uc  0 nX l         X0l        g ©N)ÚtypeÚ
parametersÚtoken)ÚselfÚ	auth_typeÚdatar   s       Ú_/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/werkzeug/datastructures/auth.pyÚ__init__ÚAuthorization.__init__+   s,   € ð Œ	ØRà‰<ØˆDàŒð	ð Œ
ð	ó    c                ó8   • U R                   R                  U5      $ r   ©r   Úget©r   Únames     r   Ú__getattr__ÚAuthorization.__getattr__C   ó   € Ø�‰×"Ñ" 4Ó(Ð(r   c                ó8   • U R                   R                  U5      $ r   r   r   s     r   Ú__getitem__ÚAuthorization.__getitem__F   r    r   c                ó8   • U R                   R                  X5      $ r   r   ©r   ÚkeyÚdefaults      r   r   ÚAuthorization.getI   ó   € Ø�‰×"Ñ" 3Ó0Ð0r   c                ó   • XR                   ;   $ r   ©r   ©r   r&   s     r   Ú__contains__ÚAuthorization.__contains__L   ó   € Ø—o‘oÑ%Ð%r   c                óê   • [        U[        5      (       d  [        $ UR                  U R                  :H  =(       a9    UR                  U R                  :H  =(       a    UR
                  U R
                  :H  $ r   )Ú
isinstancer   ÚNotImplementedr   r   r   ©r   Úothers     r   Ú__eq__ÚAuthorization.__eq__O   sX   € Ü˜%¤×/Ñ/Ü!Ð!ð �J‰J˜$Ÿ)™)Ñ#÷ 4Ø—‘˜tŸz™zÑ)÷4à× Ñ  D§O¡OÑ3ð	
r   c                ó®  • U(       d  gUR                  S5      u  p#nUR                  5       nUR                  5       nUS:X  aB   [        R                  " U5      R                  5       R                  S5      u  pSnU " X%US.5      $ SUR                  S5      ;   a  U " U[        U5      S5      $ U " USU5      $ ! [        R                  [        4 a     gf = f)z¤Parse an ``Authorization`` header value and return an instance, or ``None``
if the value is empty.

:param value: The header value to parse.

.. versionadded:: 2.3
NÚ ÚbasicÚ:)ÚusernameÚpasswordÚ=)Ú	partitionÚlowerÚstripÚbase64Ú	b64decodeÚdecodeÚbinasciiÚErrorÚUnicodeErrorÚrstripr   )ÚclsÚvalueÚschemeÚ_Úrestr;   r<   s          r   Úfrom_headerÚAuthorization.from_headerY   sÏ   € ö ØàŸ/™/¨#Ó.‰ˆ�4Ø—‘“ˆØ�z‰z‹|ˆà�WÓðÜ(.×(8Ò(8¸Ó(>×(EÑ(EÓ(G×(QÑ(QÐRUÓ(VÑ%�˜Xñ �vÀ(ÑKÓLÐLà�$—+‘+˜cÓ"Ó"á�vÔ0°Ó6¸Ó=Ð=ñ �6˜4 Ó&Ð&øô —N‘N¤LÐ1ó Ùðús   Á6B7 Â7CÃCc                ó”  • U R                   S:X  aQ  [        R                  " U R                   SU R                   3R                  5       5      R                  S5      nSU 3$ U R                  b)  U R                   R                  5        SU R                   3$ U R                   R                  5        S[        U R                  5       3$ )zYProduce an ``Authorization`` header value representing this data.

.. versionadded:: 2.0
r9   r:   ÚasciizBasic r8   )r   rA   Ú	b64encoder;   r<   ÚencoderC   r   Útitler   r   ©r   rI   s     r   Ú	to_headerÚAuthorization.to_headerx   s¬   € ð
 �9‰9˜ÓÜ×$Ò$Ø—=‘=�/  4§=¡= /Ð2×9Ñ9Ó;óç‰f�W‹oð ð ˜E˜7Ð#Ð#à�:‰:Ñ!Ø—i‘i—o‘oÓ'Ð(¨¨$¯*©*¨Ð6Ð6à—)‘)—/‘/Ó#Ð$ A¤k°$·/±/Ó&BÐ%CÐDÐDr   c                ó"   • U R                  5       $ r   ©rU   ©r   s    r   Ú__str__ÚAuthorization.__str__ˆ   ó   € Ø�~‰~ÓÐr   c                óV   • S[        U 5      R                   SU R                  5        S3$ ©NÚ<r8   Ú>©r   Ú__name__rU   rY   s    r   Ú__repr__ÚAuthorization.__repr__‹   ó*   € Ø”4˜“:×&Ñ&Ð' q¨¯©Ó)9Ð(:¸!Ð<Ð<r   )r   r   r   ©NN)r   Ústrr   údict[str, str | None] | Noner   ú
str | NoneÚreturnÚNone©r   rg   rj   ri   r   ©r&   rg   r'   ri   rj   ri   ©r&   rg   rj   Úbool©r4   Úobjectrj   ro   ©rI   ri   rj   zte.Self | None©rj   rg   )rb   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r"   r   r-   r5   ÚclassmethodrM   rU   rZ   rc   Ú__static_attributes__© r   r   r   r      sw   † ñð8 .2Ø ð	àðð +ðð ð	ð
 
õô0)ô)ö1ô&ô
ð ó'ó ð'ô<Eô  ÷=r   r   c                  ó�  ^ • \ rS rSrSr  S     SS jjrSS jr\SS j5       r\R                  SS j5       r\SS j5       r
\
R                  SS j5       r
\S S	 j5       r\R                  S!S
 j5       rS"S jrS#S jrS$S jrS%S jrS&U 4S jjrS'S jrS(S jrS)S jrS*S+S jjr\S,S j5       rSS jrSS jrSS jrSrU =r$ )-ÚWWWAuthenticateé�   a˜  Represents the parts of a ``WWW-Authenticate`` response header.

Set :attr:`.Response.www_authenticate` to an instance of list of instances to set
values for this header in the response. Modifying this instance will modify the
header value.

Depending on the auth scheme, either :attr:`parameters` or :attr:`token` should be
set. The ``Basic`` scheme will encode ``username`` and ``password`` parameters to a
token.

For convenience, ``auth["key"]`` and ``auth.key`` both act on the :attr:`parameters`
dict, and can be used to get, set, or delete parameters. ``auth.get("key")`` and
``"key" in auth`` are also provided.

.. versionchanged:: 2.3
    The ``token`` parameter and attribute was added to support auth schemes that use
    a token instead of parameters, such as ``Bearer``.

.. versionchanged:: 2.3
    The object is no longer a ``dict``.

.. versionchanged:: 2.3
    The ``on_update`` parameter was removed.
c                óv   ^ • UR                  5       T l        [        UU 4S j5      T l        UT l        S T l        g )Nc                ó$   >• TR                  5       $ r   ©Ú_trigger_on_update©rK   r   s    €r   Ú<lambda>Ú*WWWAuthenticate.__init__.<locals>.<lambda>±   s   ø€ ˜d×5Ñ5Ô7r   )r?   Ú_typer	   Ú_parametersÚ_tokenÚ
_on_update)r   r   Úvaluesr   s   `   r   r   ÚWWWAuthenticate.__init__©   s6   ø€ ð —_‘_Ó&ˆŒ
Ü2>ØÔ7ó3
ˆÔð ˆŒØIMˆ�r   c                óB   • U R                   b  U R                  U 5        g g r   )rˆ   rY   s    r   r�   Ú"WWWAuthenticate._trigger_on_update¶   s   € Ø�?‰?Ñ&Ø�O‰O˜DÕ!ð 'r   c                ó   • U R                   $ )zDThe authorization scheme, like ``basic``, ``digest``, or ``bearer``.)r…   rY   s    r   r   ÚWWWAuthenticate.typeº   s   € ð �z‰zÐr   c                ó0   • Xl         U R                  5         g r   )r…   r�   rT   s     r   r   rŽ   ¿   s   € àŒ
Ø×ÑÕ!r   c                ó   • U R                   $ ©zoA dict of parameters for the header. Only one of this or :attr:`token` should
have a value for a given scheme.
)r†   rY   s    r   r   ÚWWWAuthenticate.parametersÄ   s   € ð
 ×ÑÐr   c                óP   ^ • [        UU 4S j5      T l        T R                  5         g )Nc                ó$   >• TR                  5       $ r   r€   r‚   s    €r   rƒ   Ú,WWWAuthenticate.parameters.<locals>.<lambda>Í   s   ø€ ¸×9PÑ9PÔ9Rr   )r	   r†   r�   rT   s   ` r   r   r’   Ë   s   ø€ ä'¨Ô/RÓSˆÔØ×ÑÕ!r   c                ó   • U R                   $ r‘   )r‡   rY   s    r   r   ÚWWWAuthenticate.tokenÐ   s   € ð
 �{‰{Ðr   c                ó0   • Xl         U R                  5         g)z~A token for the header. Only one of this or :attr:`parameters` should have a
value for a given scheme.

.. versionadded:: 2.3
N)r‡   r�   rT   s     r   r   r—   ×   s   € ð ŒØ×ÑÕ!r   c                ó8   • U R                   R                  U5      $ r   r   r,   s     r   r"   ÚWWWAuthenticate.__getitem__á   s   € Ø�‰×"Ñ" 3Ó'Ð'r   c                ó€   • Uc  XR                   ;   a  U R                   U	 OX R                   U'   U R                  5         g r   ©r   r�   )r   r&   rI   s      r   Ú__setitem__ÚWWWAuthenticate.__setitem__ä   s6   € Ø‰=Ø—o‘oÓ%Ø—O‘O CÐ(øà#(�O‰O˜CÑ à×ÑÕ!r   c                ó^   • XR                   ;   a  U R                   U	 U R                  5         g g r   rœ   r,   s     r   Ú__delitem__ÚWWWAuthenticate.__delitem__í   s)   € Ø—/‘/Ó!Ø—‘ Ð$Ø×#Ñ#Õ%ð "r   c                ó
   • X   $ r   rz   r   s     r   r   ÚWWWAuthenticate.__getattr__ò   s
   € Ø‰zÐr   c                ó:   >• US;   a  [         TU ]  X5        g X U'   g )N>   r…   r‡   rˆ   r†   )ÚsuperÚ__setattr__)r   r   rI   Ú	__class__s      €r   r¦   ÚWWWAuthenticate.__setattr__õ   s    ø€ ØÐCÓCÜ‰GÑ Õ,à�ŠJr   c                ó   • X	 g r   rz   r   s     r   Ú__delattr__ÚWWWAuthenticate.__delattr__û   s   € Ø‰Jr   c                ó   • XR                   ;   $ r   r+   r,   s     r   r-   ÚWWWAuthenticate.__contains__þ   r/   r   c                óê   • [        U[        5      (       d  [        $ UR                  U R                  :H  =(       a9    UR                  U R                  :H  =(       a    UR
                  U R
                  :H  $ r   )r1   r|   r2   r   r   r   r3   s     r   r5   ÚWWWAuthenticate.__eq__  sX   € Ü˜%¤×1Ñ1Ü!Ð!ð �J‰J˜$Ÿ)™)Ñ#÷ 4Ø—‘˜tŸz™zÑ)÷4à× Ñ  D§O¡OÑ3ð	
r   c                ó8   • U R                   R                  X5      $ r   r   r%   s      r   r   ÚWWWAuthenticate.get  r)   r   c                óÞ   • U(       d  gUR                  S5      u  p#nUR                  5       nUR                  5       nSUR                  S5      ;   a  U " U[	        U5      S5      $ U " USU5      $ )z¦Parse a ``WWW-Authenticate`` header value and return an instance, or ``None``
if the value is empty.

:param value: The header value to parse.

.. versionadded:: 2.3
Nr8   r=   )r>   r?   r@   rG   r   )rH   rI   rJ   rK   rL   s        r   rM   ÚWWWAuthenticate.from_header  si   € ö ØàŸ/™/¨#Ó.‰ˆ�4Ø—‘“ˆØ�z‰z‹|ˆà�$—+‘+˜cÓ"Ó"á�vÔ0°Ó6¸Ó=Ð=ñ �6˜4 Ó&Ð&r   c                óÈ  • U R                   b)  U R                  R                  5        SU R                    3$ U R                  S:X  ak  / nU R                  R	                  5        H7  u  p#US;   a  [        USS9nO[        U5      nUR                  U SU 35        M9     SSR                  U5       3$ U R                  R                  5        S[        U R                  5       3$ )	zCProduce a ``WWW-Authenticate`` header value representing this data.r8   Údigest>   ÚqopÚnonceÚrealmÚdomainÚopaqueF)Úallow_tokenr=   zDigest z, )	r   r   rS   r   Úitemsr   ÚappendÚjoinr   )r   r¼   r&   rI   s       r   rU   ÚWWWAuthenticate.to_header%  sÍ   € à�:‰:Ñ!Ø—i‘i—o‘oÓ'Ð(¨¨$¯*©*¨Ð6Ð6à�9‰9˜Ó ØˆEà"Ÿo™o×3Ñ3Ö5‘
�ØÐGÓGÜ.¨uÀ%ÑH‘Eä.¨uÓ5�Eà—‘ ˜u A e WÐ-Ö.ñ 6ð ˜TŸY™Y uÓ-Ð.Ð/Ð/à—)‘)—/‘/Ó#Ð$ A¤k°$·/±/Ó&BÐ%CÐDÐDr   c                ó"   • U R                  5       $ r   rX   rY   s    r   rZ   ÚWWWAuthenticate.__str__9  r\   r   c                óV   • S[        U 5      R                   SU R                  5        S3$ r^   ra   rY   s    r   rc   ÚWWWAuthenticate.__repr__<  re   r   )rˆ   r†   r‡   r…   rf   )r   rg   r‰   rh   r   ri   )rj   rk   rs   )rI   rg   rj   rk   )rj   zdict[str, str | None])rI   zdict[str, str]rj   rk   )rj   ri   )rI   ri   rj   rk   )r&   rg   rj   ri   )r&   rg   rI   ri   rj   rk   )r&   rg   rj   rk   rl   )r   rg   rI   ri   rj   rk   )r   rg   rj   rk   rn   rp   r   rm   rr   )rb   rt   ru   rv   rw   r   r�   Úpropertyr   Úsetterr   r   r"   r�   r    r   r¦   rª   r-   r5   r   rx   rM   rU   rZ   rc   ry   Ú__classcell__)r§   s   @r   r|   r|   �   s  ø† ñð8 04Ø ð	NàðNð -ðNð õ	Nô"ð óó ðð 
‡[�[ó"ó ð"ð ó ó ð ð ×Ñó"ó ð"ð óó ðð ‡\�\ó"ó ð"ô(ô"ô&ô
÷ôô&ô
ö1ð ó'ó ð'ô,Eô( ÷=ò =r   r|   )Ú
__future__r   rA   rD   Úcollections.abcÚabcÚcabcÚtypingÚtÚhttpr   r   r   Ú
structuresr	   ÚTYPE_CHECKINGÚtyping_extensionsÚter   r|   rz   r   r   Ú<module>rÒ      sC   ðÝ "ã Û Ý Û å Ý $Ý %Ý $à‡?‡?Û"÷{=ñ {=÷|n=ò n=r   