+
    ®¾jÊ'  ã                   óâ   € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^RI	H
t
 ^RIHtHtHt ^RIHt ^RIHt RtRtR	 t ! R
 R4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )z]
requests.auth
~~~~~~~~~~~~~

This module contains the authentication handlers for Requests.
N)Ú	b64encode)Úto_native_string)Ú
basestringÚstrÚurlparse)Úextract_cookies_to_jar)Úparse_dict_headerz!application/x-www-form-urlencodedzmultipart/form-datac           	     óV  € \        V \        4      '       g7   \        P                  ! RP	                  V 4      \
        R7       \        V 4      p \        V\        4      '       g@   \        P                  ! RP	                  \        V4      4      \
        R7       \        V4      p\        V \        4      '       d   V P                  R4      p \        V\        4      '       d   VP                  R4      pR\        \        RP                  W34      4      P                  4       4      ,           pV# )zReturns a Basic Auth string.z·Non-string usernames will no longer be supported in Requests 3.0.0. Please convert the object you've passed in ({!r}) to a string or bytes object in the near future to avoid problems.)Úcategoryz·Non-string passwords will no longer be supported in Requests 3.0.0. Please convert the object you've passed in ({!r}) to a string or bytes object in the near future to avoid problems.Úlatin1zBasic ó   :)Ú
isinstancer   ÚwarningsÚwarnÚformatÚDeprecationWarningr   ÚtypeÚencoder   r   ÚjoinÚstrip)ÚusernameÚpasswordÚauthstrs   && ÚX/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_vendor/requests/auth.pyÚ_basic_auth_strr      sæ   € ô �h¤
×+Ò+Ü�Šð÷ ™˜xÓ(Ü'õ	
ô �x“=ˆä�h¤
×+Ò+Ü�Šð÷ ™œt H›~Ó.Ü'õ	
ô �x“=ˆô �(œC× Ò Ø—?‘? 8Ó,ˆä�(œC× Ò Ø—?‘? 8Ó,ˆàÔ)Ü�$—)‘)˜XÐ0Ó1Ó2×8Ñ8Ó:óõ €Gð €Nó    c                   ó*   a € ] tR t^Et o RtR tRtV tR# )ÚAuthBasez4Base class that all auth implementations derive fromc                ó   € \        R 4      h)zAuth hooks must be callable.)ÚNotImplementedError©ÚselfÚrs   &&r   Ú__call__ÚAuthBase.__call__H   s   € Ü!Ð"@ÓAÐAr   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r#   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   E   s   ø‡ € Ù>÷Bð Br   r   c                   ó<   a € ] tR t^Lt o RtR tR tR tR tRt	V t
R# )ÚHTTPBasicAuthz?Attaches HTTP Basic Authentication to the given Request object.c                ó   € Wn         W n        R # ©N)r   r   ©r!   r   r   s   &&&r   Ú__init__ÚHTTPBasicAuth.__init__O   s   € Ø ŒØ Žr   c           	     ó|   € \        V P                  \        VR R4      8H  V P                  \        VRR4      8H  .4      # ©r   Nr   ©Úallr   Úgetattrr   ©r!   Úothers   &&r   Ú__eq__ÚHTTPBasicAuth.__eq__S   ó>   € Üà—‘¤¨°
¸DÓ!AÑAØ—‘¤¨°
¸DÓ!AÑAðó
ð 	
r   c                ó   € W8X  * # r3   r%   r<   s   &&r   Ú__ne__ÚHTTPBasicAuth.__ne__[   ó   € ØÒ Ð r   c                ó`   € \        V P                  V P                  4      VP                  R &   V# )ÚAuthorization©r   r   r   Úheadersr    s   &&r   r#   ÚHTTPBasicAuth.__call__^   s$   € Ü%4°T·]±]ÀDÇMÁMÓ%Rˆ�	‰	�/Ñ"Øˆr   )r   r   N)r'   r(   r)   r*   r+   r5   r>   rB   r#   r,   r-   r.   s   @r   r1   r1   L   s!   ø‡ € ÙIò!ò
ò!÷ð r   r1   c                   ó*   a € ] tR t^ct o RtR tRtV tR# )ÚHTTPProxyAuthz=Attaches HTTP Proxy Authentication to a given Request object.c                ó`   € \        V P                  V P                  4      VP                  R &   V# )zProxy-AuthorizationrG   r    s   &&r   r#   ÚHTTPProxyAuth.__call__f   s%   € Ü+:¸4¿=¹=È$Ï-É-Ó+Xˆ�	‰	Ð'Ñ(Øˆr   r%   Nr&   r.   s   @r   rK   rK   c   s   ø‡ € ÙG÷ð r   rK   c                   óT   a € ] tR t^kt o RtR tR tR tR tR t	R t
R tR	 tR
tV tR# )ÚHTTPDigestAuthz@Attaches HTTP Digest Authentication to the given Request object.c                óR   € Wn         W n        \        P                  ! 4       V n        R # r3   )r   r   Ú	threadingÚlocalÚ_thread_localr4   s   &&&r   r5   ÚHTTPDigestAuth.__init__n   s   € Ø ŒØ Œä&Ÿ_š_Ó.ˆÖr   c                ó  € \        V P                  R 4      '       gi   RV P                  n        RV P                  n        ^ V P                  n        / V P                  n        RV P                  n        RV P                  n        R# R# )ÚinitTÚ N)ÚhasattrrS   rV   Ú
last_nonceÚnonce_countÚchalÚposÚnum_401_calls)r!   s   &r   Úinit_per_thread_stateÚ$HTTPDigestAuth.init_per_thread_statet   sn   € ä�t×)Ñ)¨6×2Ò2Ø&*ˆD×ÑÔ#Ø,.ˆD×ÑÔ)Ø-.ˆD×ÑÔ*Ø&(ˆD×ÑÔ#Ø%)ˆD×ÑÔ"Ø/3ˆD×ÑÖ,ñ 3r   c                ó,  a€ V P                   P                  R,          pV P                   P                  R,          pV P                   P                  P                  R4      pV P                   P                  P                  R4      pV P                   P                  P                  R4      pRoVf   RpMVP                  4       pVR8X  g   VR8X  d   R	 p	V	oM&VR
8X  d   R p
V
oMVR8X  d   R pVoMVR8X  d   R pVoV3R lpSf   R# Rp\	        V4      pVP
                  ;'       g    RpVP                  '       d   VRVP                   2,          pV P                   RV RV P                   2pV RV 2pS! V4      pS! V4      pW@P                   P                  8X  d%   V P                   ;P                  ^,          un
        M^V P                   n
        V P                   P                  R p\        V P                   P                  4      P                  R4      pVVP                  R4      ,          pV\        P                  ! 4       P                  R4      ,          pV\        P                   ! ^4      ,          p\"        P$                  ! V4      P'                  4       R,          pVR8X  d   S! V RV RV 24      pV'       g   V! VV RV 24      pM6VR8X  g   RVP)                  R4      9   d   V RV RV RV 2pV! VV4      pMR# W@P                   n	        RV P                   RV RV RV RV R2pV'       d   VR V R2,          pV'       d   VR!V R2,          pV'       d   VR"V R2,          pV'       d   VR#V R$V R2,          pR%V 2# )&z
:rtype: str
ÚrealmÚnonceÚqopÚ	algorithmÚopaqueNÚMD5zMD5-SESSc                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # ©úutf-8)r   r   r   ÚhashlibÚmd5Ú	hexdigest©Úxs   &r   Úmd5_utf8Ú4HTTPDigestAuth.build_digest_header.<locals>.md5_utf8‘   s4   € Ü˜a¤×%Ò%ØŸ™ Ó)�AÜ—{’{ 1“~×/Ñ/Ó1Ð1r   ÚSHAc                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # rh   )r   r   r   rj   Úsha1rl   rm   s   &r   Úsha_utf8Ú4HTTPDigestAuth.build_digest_header.<locals>.sha_utf8™   s4   € Ü˜a¤×%Ò%ØŸ™ Ó)�AÜ—|’| A“×0Ñ0Ó2Ð2r   zSHA-256c                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # rh   )r   r   r   rj   Úsha256rl   rm   s   &r   Úsha256_utf8Ú7HTTPDigestAuth.build_digest_header.<locals>.sha256_utf8¡   ó5   € Ü˜a¤×%Ò%ØŸ™ Ó)�AÜ—~’~ aÓ(×2Ñ2Ó4Ð4r   zSHA-512c                 ó˜   € \        V \        4      '       d   V P                  R 4      p \        P                  ! V 4      P                  4       # rh   )r   r   r   rj   Úsha512rl   rm   s   &r   Úsha512_utf8Ú7HTTPDigestAuth.build_digest_header.<locals>.sha512_utf8©   rz   r   c                 ó   <€ S! V  R V 24      # )Ú:r%   )ÚsÚdÚ	hash_utf8s   &&€r   Ú<lambda>Ú4HTTPDigestAuth.build_digest_header.<locals>.<lambda>°   s   ø€ ™) q c¨¨1¨# JÔ/r   Ú/Ú?r€   Ú08xri   :Né   NÚauthÚ,z:auth:z
username="z
", realm="z
", nonce="z", uri="z", response="Ú"z
, opaque="z, algorithm="z
, digest="z, qop="auth", nc=z
, cnonce="zDigest )rS   r[   ÚgetÚupperr   ÚpathÚqueryr   r   rY   rZ   r   r   ÚtimeÚctimeÚosÚurandomrj   rs   rl   Úsplit)r!   ÚmethodÚurlra   rb   rc   rd   re   Ú
_algorithmro   rt   rx   r}   ÚKDÚentdigÚp_parsedr�   ÚA1ÚA2ÚHA1ÚHA2Úncvaluer�   ÚcnonceÚrespdigÚnoncebitÚbaserƒ   s   &&&                        @r   Úbuild_digest_headerÚ"HTTPDigestAuth.build_digest_header~   s  ø€ ð
 ×"Ñ"×'Ñ'¨Õ0ˆØ×"Ñ"×'Ñ'¨Õ0ˆØ× Ñ ×%Ñ%×)Ñ)¨%Ó0ˆØ×&Ñ&×+Ñ+×/Ñ/°Ó<ˆ	Ø×#Ñ#×(Ñ(×,Ñ,¨XÓ6ˆØˆ	àÒØ‰Jà"Ÿ™Ó*ˆJà˜Ô *°
Ô":ò2ð
 !‰IØ˜5Ô ò3ð
 !‰IØ˜9Ô$ò5ð
 $‰IØ˜9Ô$ò5ð
 $ˆIä/ˆàÒÙð ˆÜ˜C“=ˆà�}‰}×#Ð# ˆØ�>�>ˆ>Ø�a˜Ÿ™Ð'Ð(Õ(ˆDà—‘ˆ˜a ˜w a¨¯© Ð7ˆØˆx�q˜˜Ðˆá˜‹mˆÙ˜‹mˆà×&Ñ&×1Ñ1Ô1Ø×Ñ×*Ò*¨aÕ/Ö*à-.ˆD×ÑÔ*Ø×'Ñ'×3Ñ3°CÐ8ˆÜ�×"Ñ"×.Ñ.Ó/×6Ñ6°wÓ?ˆØ	ˆU�\‰\˜'Ó"Õ"ˆØ	ŒT�ZŠZ‹\× Ñ  Ó)Õ)ˆØ	ŒR�ZŠZ˜‹]Õˆä—’˜a“×*Ñ*Ó,¨SÕ1ˆØ˜Ô#Ù˜s˜e 1 U G¨1¨V¨HÐ5Ó6ˆCçÙ˜   q¨¨Ð.Ó/‰GØ�FŒ]˜f¨¯	©	°#«Ô6Ø˜  ' ¨!¨F¨8°6¸#¸Ð?ˆHÙ˜˜hÓ'‰Gñ à(-×ÑÔ%ð ˜Ÿ™˜ z°%°¸
À5À'ð JØ�6˜ w i¨qð2ð 	÷ Ø�j  ¨Ð*Õ*ˆDßØ�m I ;¨aÐ0Õ0ˆDßØ�j  ¨Ð*Õ*ˆDßØÐ'¨ y°
¸6¸(À!ÐDÕDˆDà˜˜ÐÐr   c                óP   € VP                   '       d   ^V P                  n        R# R# )z)Reset num_401_calls counter on redirects.N)Úis_redirectrS   r]   )r!   r"   Úkwargss   &&,r   Úhandle_redirectÚHTTPDigestAuth.handle_redirectì   s   € à�=�=ˆ=Ø/0ˆD×ÑÖ,ñ r   c                óŠ  € RVP                   u;8:  d   R8  g   M ^V P                  n        V# V P                  P                  e:   VP                  P
                  P                  V P                  P                  4       VP                  P                  RR4      pRVP                  4       9   Ed�   V P                  P                  ^8  Ede   V P                  ;P                  ^,          un        \        P                  ! R\        P                  R7      p\        VP                  RV^R7      4      V P                  n        VP                    VP#                  4        VP                  P%                  4       p\'        VP(                  VP                  VP*                  4       VP-                  VP(                  4       V P/                  VP0                  VP2                  4      VP                  R	&   VP4                  P6                  ! V3/ VB pVP8                  P;                  V4       WVn        V# ^V P                  n        V# )
zW
Takes the given response and tries digest-auth, if needed.

:rtype: requests.Response
i�  iô  zwww-authenticaterW   Údigestzdigest )Úflags)ÚcountrF   )Ústatus_coderS   r]   r\   ÚrequestÚbodyÚseekrH   r�   ÚlowerÚreÚcompileÚ
IGNORECASEr   Úsubr[   ÚcontentÚcloseÚcopyr   Ú_cookiesÚrawÚprepare_cookiesr¥   r–   r—   Ú
connectionÚsendÚhistoryÚappend)r!   r"   r©   Ús_authÚpatÚprepÚ_rs   &&,    r   Ú
handle_401ÚHTTPDigestAuth.handle_401ñ   sž  € ð �a—m‘mÖ) cÖ)Ø/0ˆD×ÑÔ,ØˆHà×Ñ×!Ñ!Ò-ð �I‰I�N‰N×Ñ × 2Ñ 2× 6Ñ 6Ô7Ø—‘—‘Ð1°2Ó6ˆà�v—|‘|“~Õ%¨$×*<Ñ*<×*JÑ*JÈQÕ*NØ×Ñ×,Ò,°Õ1Õ,Ü—*’*˜Z¬r¯}©}Ô=ˆCÜ&7¸¿¹ÀÀFÐRS¸Ó8TÓ&UˆD×ÑÔ#ð �IŠIØ�G‰GŒIØ—9‘9—>‘>Ó#ˆDÜ" 4§=¡=°!·)±)¸Q¿U¹UÔCØ× Ñ  §¡Ô/à,0×,DÑ,DØ—‘˜TŸX™Xó-ˆD�L‰L˜Ñ)ð —‘×"Ò" 4Ñ2¨6Ñ2ˆBØ�J‰J×Ñ˜aÔ ØŒJàˆIà+,ˆ×ÑÔ(Øˆr   c                óî  € V P                  4        V P                  P                  '       d4   V P                  VP                  VP
                  4      VP                  R &    VP                  P                  4       V P                  n	        VP                  RV P                  4       VP                  RV P                  4       ^V P                  n        V#   \         d    RT P                  n	         Lii ; i)rF   NÚresponse)r^   rS   rY   r¥   r–   r—   rH   r²   Útellr\   ÚAttributeErrorÚregister_hookrÇ   rª   r]   r    s   &&r   r#   ÚHTTPDigestAuth.__call__  s¼   € à×"Ñ"Ô$à×Ñ×(×(Ð(Ø)-×)AÑ)AÀ!Ç(Á(ÈAÏEÉEÓ)RˆA�I‰I�oÑ&ð	*Ø%&§V¡V§[¡[£]ˆD×ÑÔ"ð 	
�‰˜
 D§O¡OÔ4Ø	�‰˜
 D×$8Ñ$8Ô9Ø+,ˆ×ÑÔ(àˆøô ô 	*ð
 &*ˆD×ÑÖ"ð	*ús   Á!)C ÃC4Ã3C4c           	     ó|   € \        V P                  \        VR R4      8H  V P                  \        VRR4      8H  .4      # r8   r9   r<   s   &&r   r>   ÚHTTPDigestAuth.__eq__1  r@   r   c                ó   € W8X  * # r3   r%   r<   s   &&r   rB   ÚHTTPDigestAuth.__ne__9  rD   r   )rS   r   r   N)r'   r(   r)   r*   r+   r5   r^   r¥   rª   rÇ   r#   r>   rB   r,   r-   r.   s   @r   rO   rO   k   s8   ø‡ € ÙJò/ò4òl ò\1ò
*òXò(
÷!ð !r   rO   )r+   rj   r“   rµ   rQ   r‘   r   Úbase64r   Ú_internal_utilsr   Úcompatr   r   r   Úcookiesr   Úutilsr   ÚCONTENT_TYPE_FORM_URLENCODEDÚCONTENT_TYPE_MULTI_PARTr   r   r1   rK   rO   r%   r   r   Ú<module>rÚ      st   ðñó Û 	Û 	Û Û Û Ý å -ß -Ñ -Ý +Ý $àBÐ Ø/Ð ò)÷XBñ Bô�Hô ô.�Mô ôO!�Xö O!r   