§
    sŠtjP  ã                   ót   — d Z ddlmZ ddlmZ ddlmZmZ  G d„ dej        ¦  «        Z	 G d„ d	e	¦  «        Z
d
S )z-The module containing the code for GuessAuth.é    )Úauth)Úcookiesé   )Ú_digest_auth_compatÚhttp_proxy_digestc                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú	GuessAuthz7Guesses the auth type by the WWW-Authentication header.c                 ó>   — || _         || _        d | _        d | _        d S ©N)ÚusernameÚpasswordr   Úpos)Úselfr   r   s      úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/requests_toolbelt/auth/guess.pyÚ__init__zGuessAuth.__init__   s"   € Ø ˆŒØ ˆŒØˆŒ	ØˆŒˆˆó    c                 óv  — | j         �$|j        j                             | j         ¦  «         |j         |j                             ¦   «          |j                             ¦   «         }t          |d¦  «        st          j
        ¦   «         |_        t          j        |j        |j        |j        ¦  «         |                     |j        ¦  «         t          j        | j        | j        ¦  «        | _        |                      |¦  «        } |j        j        |fi |¤Ž}|j                             |¦  «         ||_        |S ©NÚ_cookies)r   ÚrequestÚbodyÚseekÚcontentÚrawÚrelease_connÚcopyÚhasattrr   ÚRequestsCookieJarr   Úextract_cookies_to_jarÚprepare_cookiesr   ÚHTTPBasicAuthr   r   Ú
connectionÚsendÚhistoryÚappend©r   ÚrÚkwargsÚprepÚ_rs        r   Ú_handle_basic_auth_401z GuessAuth._handle_basic_auth_401   s
  € ØŒ8ÐØŒIŒN×Ò ¤Ñ)Ô)Ð)ð 	
Œ	ˆ	Ø	Œ×ÒÑÔÐØŒy�~Š~ÑÔˆÝ�t˜ZÑ(Ô(ð 	8Ý#Ô5Ñ7Ô7ˆDŒMÝÔ& t¤}°a´iÀÄÑGÔGÐGØ×Ò˜Tœ]Ñ+Ô+Ð+åÔ& t¤}°d´mÑDÔDˆŒ	Ø�yŠy˜‰ŒˆØˆQŒ\Ô˜tÐ.Ð. vÐ.Ð.ˆØ
Œ
×Ò˜!ÑÔÐØˆŒ
àˆ	r   c                 ó   — t          j        | j        | j        ¦  «        | _        	 | j                             ¦   «          n# t          $ r Y nw xY wt          | j        d¦  «        r| j        j        €d| j        _         | j        j	        |fi |¤ŽS )NÚnum_401_callsr   )
Úauth_compatÚHTTPDigestAuthr   r   r   Úinit_per_thread_stateÚAttributeErrorr   r-   Ú
handle_401©r   r'   r(   s      r   Ú_handle_digest_auth_401z!GuessAuth._handle_digest_auth_401'   s¢   € ÝÔ.¨t¬}¸d¼mÑLÔLˆŒ	ð	ØŒI×+Ò+Ñ-Ô-Ð-Ð-øÝð 	ð 	ð 	ð ˆDð	øøøõ �D”I˜Ñ/Ô/ð 	(Ø”	Ô'Ð/Ø&'ˆDŒIÔ#ð $ˆtŒyÔ# AÐ0Ð0¨Ð0Ð0Ð0s   ¦A  Á 
AÁAc                 óÈ   — |j                              dd¦  «                             ¦   «         }d|v r|                      ||¦  «        S d|v r|                      ||¦  «        S dS )z/Resends a request with auth headers, if needed.zwww-authenticateÚ ÚbasicÚdigestN)ÚheadersÚgetÚlowerr+   r4   )r   r'   r(   Úwww_authenticates       r   r2   zGuessAuth.handle_401:   ss   € ð œ9Ÿ=š=Ð);¸RÑ@Ô@×FÒFÑHÔHÐàÐ&Ð&Ð&Ø×.Ò.¨q°&Ñ9Ô9Ð9àÐ'Ð'Ð'Ø×/Ò/°°6Ñ:Ô:Ð:ð (Ð'r   c                 óÔ   — | j         �|                       |¦  «        S 	 |j                             ¦   «         | _        n# t          $ r Y nw xY w|                     d| j        ¦  «         |S ©NÚresponse)r   r   Útellr   r1   Úregister_hookr2   )r   r   s     r   Ú__call__zGuessAuth.__call__E   sw   € ØŒ9Ð Ø—9’9˜WÑ%Ô%Ð%ð	Ø”|×(Ò(Ñ*Ô*ˆDŒHˆHøÝð 	ð 	ð 	ØˆDð	øøøð 	×Ò˜j¨$¬/Ñ:Ô:Ð:Øˆs   ž= ½
A
Á	A
N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r+   r4   r2   rB   © r   r   r	   r	   	   se   € € € € € ØAÐAðð ð ðð ð ð,1ð 1ð 1ð&	;ð 	;ð 	;ð
ð 
ð 
ð 
ð 
r   r	   c                   óD   ‡ — e Zd ZdZ	 	 dˆ fd„	Zd„ Zd„ Zd„ Zˆ fd„Zˆ xZ	S )	ÚGuessProxyAuthzZ
    Guesses the auth type by WWW-Authentication and Proxy-Authentication
    headers
    Nc                 ó„   •— t          t          | ¦  «                             ||¦  «         || _        || _        d | _        d S r   )ÚsuperrI   r   Úproxy_usernameÚproxy_passwordÚ
proxy_auth)r   r   r   rL   rM   Ú	__class__s        €r   r   zGuessProxyAuth.__init__W   s>   ø€ å�n˜dÑ#Ô#×,Ò,¨X°xÑ@Ô@Ð@Ø,ˆÔØ,ˆÔØˆŒˆˆr   c                 óv  — | j         �$|j        j                             | j         ¦  «         |j         |j                             ¦   «          |j                             ¦   «         }t          |d¦  «        st          j
        ¦   «         |_        t          j        |j        |j        |j        ¦  «         |                     |j        ¦  «         t          j        | j        | j        ¦  «        | _        |                      |¦  «        } |j        j        |fi |¤Ž}|j                             |¦  «         ||_        |S r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   ÚHTTPProxyAuthrL   rM   rN   r"   r#   r$   r%   r&   s        r   Ú_handle_basic_auth_407z%GuessProxyAuth._handle_basic_auth_407^   s  € ØŒ8ÐØŒIŒN×Ò ¤Ñ)Ô)Ð)à	Œ	ˆ	Ø	Œ×ÒÑÔÐØŒy�~Š~ÑÔˆÝ�t˜ZÑ(Ô(ð 	8Ý#Ô5Ñ7Ô7ˆDŒMÝÔ& t¤}°a´iÀÄÑGÔGÐGØ×Ò˜Tœ]Ñ+Ô+Ð+åÔ,¨TÔ-@Ø-1Ô-@ñBô BˆŒà�Š˜tÑ$Ô$ˆØˆQŒ\Ô˜tÐ.Ð. vÐ.Ð.ˆØ
Œ
×Ò˜!ÑÔÐØˆŒ
àˆ	r   c                 óÈ   — t          j        | j        | j        ¬¦  «        | _        	 | j                             ¦   «          n# t          $ r Y nw xY w | j        j        |fi |¤ŽS )N)r   r   )	r   ÚHTTPProxyDigestAuthrL   rM   rN   r   r0   r1   Ú
handle_407r3   s      r   Ú_handle_digest_auth_407z&GuessProxyAuth._handle_digest_auth_407s   s‚   € Ý+Ô?ØÔ(ØÔ(ð*ñ *ô *ˆŒð	ØŒI×+Ò+Ñ-Ô-Ð-Ð-øÝð 	ð 	ð 	ØˆDð	øøøð *ˆtŒÔ)¨!Ð6Ð6¨vÐ6Ð6Ð6s   §A Á
AÁAc                 óÈ   — |j                              dd¦  «                             ¦   «         }d|v r|                      ||¦  «        S d|v r|                      ||¦  «        S d S )NzProxy-Authenticater6   r7   r8   )r9   r:   r;   rR   rV   )r   r'   r(   Úproxy_authenticates       r   rU   zGuessProxyAuth.handle_407   sq   € ØœYŸ]š]Ð+?ÀÑDÔD×JÒJÑLÔLÐàÐ(Ð(Ð(Ø×.Ò.¨q°&Ñ9Ô9Ð9àÐ)Ð)Ð)Ø×/Ò/°°6Ñ:Ô:Ð:ð *Ð)r   c                 ó"  •— | j         �|                       |¦  «        }	 |j                             ¦   «         | _        n# t          $ r Y nw xY w|                     d| j        ¦  «         t          t          | ¦  «         	                    |¦  «        S r>   )
rN   r   r@   r   r1   rA   rU   rK   rI   rB   )r   r   rO   s     €r   rB   zGuessProxyAuth.__call__ˆ   s�   ø€ ØŒ?Ð&Ø—o’o gÑ.Ô.ˆGð	Ø”|×(Ò(Ñ*Ô*ˆDŒHˆHøÝð 	ð 	ð 	ØˆDð	øøøð 	×Ò˜j¨$¬/Ñ:Ô:Ð:Ý•^ TÑ*Ô*×3Ò3°GÑ<Ô<Ð<s   Ÿ> ¾
AÁ
A)NNNN)
rC   rD   rE   rF   r   rR   rV   rU   rB   Ú__classcell__)rO   s   @r   rI   rI   R   s•   ø€ € € € € ðð ð 04Ø59ðð ð ð ð ð ðð ð ð*
7ð 
7ð 
7ð;ð ;ð ;ð
=ð 
=ð 
=ð 
=ð 
=ð 
=ð 
=ð 
=ð 
=r   rI   N)rF   Úrequestsr   r   r6   r   r.   r   ÚAuthBaser	   rI   rG   r   r   ú<module>r]      sº   ðà 3Ð 3Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à CÐ CÐ CÐ CÐ CÐ CÐ CÐ CðFð Fð Fð Fð F�”ñ Fô Fð FðR@=ð @=ð @=ð @=ð @=�Yñ @=ô @=ð @=ð @=ð @=r   