§
     @g¬/  ã                  ó¾  — d dl mZ d dlZd dlZd dlZd dl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mZmZmZmZ ddlmZ dd	lmZ d
                     g d¢¦  «        Z ej        d¦  «        Z G d„ d¦  «        Z e¦   «         Z	 	 	 	 d(d)d„Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d ¦  «        Z  G d!„ d"¦  «        Z! ed#¬$¦  «        Z" e d%d&¬'¦  «        Z#d&Z$dS )*é    )ÚannotationsN)ÚPathé   )Úset_minimum_tls_version_1_2)ÚHeaders)Ú	CertTypesÚHeaderTypesÚTimeoutTypesÚURLTypesÚVerifyTypes)ÚURL)Úget_ca_bundle_from_envú:)zECDHE+AESGCMzECDHE+CHACHA20z
DHE+AESGCMzDHE+CHACHA20zECDH+AESGCMz	DH+AESGCMzECDH+AESzDH+AESz
RSA+AESGCMzRSA+AESz!aNULLz!eNULLz!MD5z!DSSÚhttpxc                  ó   — e Zd ZdS )Ú	UnsetTypeN)Ú__name__Ú
__module__Ú__qualname__© ó    úA/var/www/piapp/venv/lib/python3.11/site-packages/httpx/_config.pyr   r   (   s   € € € € € Ø€Dr   r   TFÚcertúCertTypes | NoneÚverifyr   Ú	trust_envÚboolÚhttp2Úreturnússl.SSLContextc                ó2   — t          | |||¬¦  «        j        S )N©r   r   r   r   )Ú	SSLConfigÚssl_contextr"   s       r   Úcreate_ssl_contextr%   /   s'   € õ Ø˜&¨I¸Uðñ ô äðr   c                  ó~   — e Zd ZdZ e ej        ¦   «         ¦  «        Zdddddœdd„Zdd„Z	dd„Z
dd„Zdd„Zdd„ZdS )r#   z
    SSL Configuration.
    NTFr"   r   r   r   r   r   r   r   r   ÚNonec               óp   — || _         || _        || _        || _        |                      ¦   «         | _        d S ©N)r   r   r   r   Úload_ssl_contextr$   )Úselfr   r   r   r   s        r   Ú__init__zSSLConfig.__init__A   s:   € ð ˆŒ	ØˆŒØ"ˆŒØˆŒ
Ø×0Ò0Ñ2Ô2ˆÔÐÐr   r    c                óÄ   — t                                d| j        | j        | j        | j        ¦  «         | j        r|                      ¦   «         S |                      ¦   «         S )Nz8load_ssl_context verify=%r cert=%r trust_env=%r http2=%r)ÚloggerÚdebugr   r   r   r   Úload_ssl_context_verifyÚload_ssl_context_no_verify©r+   s    r   r*   zSSLConfig.load_ssl_contextO   s_   € Ý�ŠØFØŒKØŒIØŒNØŒJñ	
ô 	
ð 	
ð Œ;ð 	2Ø×/Ò/Ñ1Ô1Ð1Ø×.Ò.Ñ0Ô0Ð0r   c                óˆ   — |                       ¦   «         }d|_        t          j        |_        |                      |¦  «         |S )zC
        Return an SSL context for unverified connections.
        F)Ú_create_default_ssl_contextÚcheck_hostnameÚsslÚ	CERT_NONEÚverify_modeÚ_load_client_certs)r+   Úcontexts     r   r1   z$SSLConfig.load_ssl_context_no_verify\   s@   € ð ×2Ò2Ñ4Ô4ˆØ!&ˆÔÝ!œmˆÔØ×Ò Ñ(Ô(Ð(Øˆr   c                ó  — | j         r | j        du rt          ¦   «         }|�|| _        t          | j        t          j        ¦  «        r| j        }|                      |¦  «         |S t          | j        t          ¦  «        r| j        }nbt          | j        ¦  «         
                    ¦   «         rt          | j        ¦  «        }n't          d                     | j        ¦  «        ¦  «        ‚|                      ¦   «         }t          j        |_        d|_        	 d|_        n# t$          $ r Y nw xY w	 d|_        n# t$          $ r Y nw xY w|                     ¦   «         rAt+          |¦  «        }t,                               d|¦  «         |                     |¬¦  «         nT|                     ¦   «         r@t+          |¦  «        }t,                               d|¦  «         |                     |¬¦  «         |                      |¦  «         |S )	zA
        Return an SSL context for verified connections.
        TNzECould not find a suitable TLS CA certificate bundle, invalid path: {}Fzload_verify_locations cafile=%r)Úcafilezload_verify_locations capath=%r)Úcapath)r   r   r   Ú
isinstancer6   Ú
SSLContextr9   r   ÚDEFAULT_CA_BUNDLE_PATHr   ÚexistsÚIOErrorÚformatr4   ÚCERT_REQUIREDr8   r5   Úpost_handshake_authÚAttributeErrorÚhostname_checks_common_nameÚis_fileÚstrr.   r/   Úload_verify_locationsÚis_dir)r+   Ú	ca_bundler:   Úca_bundle_pathr<   r=   s         r   r0   z!SSLConfig.load_ssl_context_verifyf   s  € ð Œ>ð 	(˜dœk¨TÐ1Ð1Ý.Ñ0Ô0ˆIØÐ$Ø'�”å�d”k¥3¤>Ñ2Ô2ð 	à”kˆGØ×#Ò# GÑ,Ô,Ð,ØˆNÝ˜œ¥TÑ*Ô*ð 	Ø!Ô8ˆNˆNÝ�$”+ÑÔ×%Ò%Ñ'Ô'ð 	Ý! $¤+Ñ.Ô.ˆNˆNåð#ß#)¢6¨$¬+Ñ#6Ô#6ñô ð ð
 ×2Ò2Ñ4Ô4ˆÝ!Ô/ˆÔØ!%ˆÔð	Ø*.ˆGÔ'Ð'øÝð 	ð 	ð 	ØˆDð	øøøð
	Ø27ˆGÔ/Ð/øÝð 	ð 	ð 	ØˆDð	øøøð ×!Ò!Ñ#Ô#ð 	9Ý˜Ñ(Ô(ˆFÝ�LŠLÐ:¸FÑCÔCÐCØ×)Ò)°Ð)Ñ8Ô8Ð8Ð8Ø×"Ò"Ñ$Ô$ð 	9Ý˜Ñ(Ô(ˆFÝ�LŠLÐ:¸FÑCÔCÐCØ×)Ò)°Ð)Ñ8Ô8Ð8à×Ò Ñ(Ô(Ð(àˆs$   ÄD Ä
D+Ä*D+Ä/D7 Ä7
EÅEc                ó„  — t          j        t           j        ¦  «        }t          |¦  «         |xj        t           j        z  c_        |                     t          ¦  «         t           j        r#| j	        rddgndg}| 
                    |¦  «         t          j                             d¦  «        }|r| j        r||_        |S )zy
        Creates the default SSLContext object that's used for both verified
        and unverified connections.
        zhttp/1.1Úh2ÚSSLKEYLOGFILE)r6   r?   ÚPROTOCOL_TLS_CLIENTr   ÚoptionsÚOP_NO_COMPRESSIONÚset_ciphersÚDEFAULT_CIPHERSÚHAS_ALPNr   Úset_alpn_protocolsÚosÚenvironÚgetr   Úkeylog_filename)r+   r:   Úalpn_identsÚ
keylogfiles       r   r4   z%SSLConfig._create_default_ssl_context�   s²   € õ
 ”.¥Ô!8Ñ9Ô9ˆÝ# GÑ,Ô,Ð,ØˆŒ�3Ô0Ñ0ˆŒØ×Ò�OÑ,Ô,Ð,åŒ<ð 	4Ø04´
ÐL˜: tÐ,Ð,ÀÀˆKØ×&Ò& {Ñ3Ô3Ð3å”Z—^’^ OÑ4Ô4ˆ
Øð 	1˜$œ.ð 	1Ø&0ˆGÔ#àˆr   r$   c                ó(  — | j         ��t          | j         t          ¦  «        r|                     | j         ¬¦  «         dS t          | j         t          ¦  «        rGt          | j         ¦  «        dk    r/|                     | j         d         | j         d         ¬¦  «         dS t          | j         t          ¦  «        rUt          | j         ¦  «        dk    r?|                     | j         d         | j         d         | j         d         ¬¦  «         dS dS dS dS )	zF
        Loads client certificates into our SSLContext object
        N)Úcertfileé   r   r   )r_   Úkeyfileé   )r_   ra   Úpassword)r   r>   rI   Úload_cert_chainÚtupleÚlen)r+   r$   s     r   r9   zSSLConfig._load_client_certs±   s  € ð Œ9Ñ Ý˜$œ)¥SÑ)Ô)ð 	Ø×+Ò+°T´YÐ+Ñ?Ô?Ð?Ð?Ð?Ý˜DœI¥uÑ-Ô-ð µ#°d´i±.´.ÀAÒ2EÐ2EØ×+Ò+°T´Y¸q´\È4Ì9ÐUVÌ<Ð+ÑXÔXÐXÐXÐXÝ˜DœI¥uÑ-Ô-ð µ#°d´i±.´.ÀAÒ2EÐ2EØ×+Ò+Ø!œY qœ\Ø œI aœLØ!œY qœ\ð ,ñ ô ð ð ð ð !Ð ð
ð Ð2EÐ2Er   )
r   r   r   r   r   r   r   r   r   r'   )r   r    )r$   r    r   r'   )r   r   r   Ú__doc__r   ÚcertifiÚwherer@   r,   r*   r1   r0   r4   r9   r   r   r   r#   r#   :   sÉ   € € € € € ðð ð "˜T - '¤-¡/¤/Ñ2Ô2Ðð
 "&Ø"ØØð3ð 3ð 3ð 3ð 3ð 3ð1ð 1ð 1ð 1ðð ð ð ð5ð 5ð 5ð 5ðnð ð ð ð(ð ð ð ð ð r   r#   c                  óB   — e Zd ZdZefeeeedœdd„Zdd„Zdd„Zdd„ZdS )ÚTimeoutaÄ  
    Timeout configuration.

    **Usage**:

    Timeout(None)               # No timeouts.
    Timeout(5.0)                # 5s timeout on all operations.
    Timeout(None, connect=5.0)  # 5s timeout on connect, no other timeouts.
    Timeout(5.0, connect=10.0)  # 10s timeout on connect. 5s timeout elsewhere.
    Timeout(5.0, pool=None)     # No timeout on acquiring connection from pool.
                                # 5s timeout elsewhere.
    ©ÚconnectÚreadÚwriteÚpoolÚtimeoutúTimeoutTypes | UnsetTyperm   úNone | float | UnsetTypern   ro   rp   r   r'   c               óò  — t          |t          ¦  «        r^|t          u sJ ‚|t          u sJ ‚|t          u sJ ‚|t          u sJ ‚|j        | _        |j        | _        |j        | _        |j        | _        d S t          |t          ¦  «        r`|d         | _        |d         | _        t          |¦  «        dk     rd n|d         | _        t          |¦  «        dk     rd n|d         | _        d S t          |t          ¦  «        s]t          |t          ¦  «        sHt          |t          ¦  «        s3t          |t          ¦  «        s|| _        || _        || _        || _        d S t          |t          ¦  «        rt          d¦  «        ‚t          |t          ¦  «        r|n|| _        t          |t          ¦  «        r|n|| _        t          |t          ¦  «        r|n|| _        t          |t          ¦  «        r|n|| _        d S )Nr   r   rb   r`   é   zShttpx.Timeout must either include a default, or set all four parameters explicitly.)r>   rk   ÚUNSETrm   rn   ro   rp   re   rf   r   Ú
ValueError)r+   rq   rm   rn   ro   rp   s         r   r,   zTimeout.__init__Ð   së  € õ �g�wÑ'Ô'ð #	Ià�eÐ#Ð#Ð#Ð#Ø�5�=�=�=�=Ø�E�>�>�>�>Ø�5�=�=�=�=Ø"œ?ˆDŒLØœˆDŒIØ œˆDŒJØœˆDŒIˆIˆIÝ˜¥Ñ'Ô'ð 	Ià" 1œ:ˆDŒLØ œ
ˆDŒIÝ!$ W¡¤°Ò!1Ð!1˜˜°w¸q´zˆDŒJÝ # G¡¤¨qÒ 0Ð 0˜˜°g¸a´jˆDŒIˆIˆIå�w¥	Ñ*Ô*ð	Iå˜$¥	Ñ*Ô*ð	Iõ ˜%¥Ñ+Ô+ð	Iõ ˜$¥	Ñ*Ô*ð		Ið #ˆDŒLØˆDŒIØˆDŒJØˆDŒIˆIˆIå˜'¥9Ñ-Ô-ð Ý ð2ñô ð õ '1°½)Ñ&DÔ&DÐQ˜7˜7È'ˆDŒLÝ#-¨dµIÑ#>Ô#>ÐH˜˜ÀDˆDŒIÝ$.¨uµiÑ$@Ô$@ÐK˜˜ÀeˆDŒJÝ#-¨dµIÑ#>Ô#>ÐH˜˜ÀDˆDŒIˆIˆIr   údict[str, float | None]c                ó8   — | j         | j        | j        | j        dœS )Nrl   rl   r2   s    r   Úas_dictzTimeout.as_dictþ   s%   € à”|Ø”IØ”ZØ”Ið	
ð 
ð 	
r   Úotherú
typing.Anyr   c                ó¬   — t          || j        ¦  «        o?| j        |j        k    o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r)   )r>   Ú	__class__rm   rn   ro   rp   ©r+   r{   s     r   Ú__eq__zTimeout.__eq__  s^   € å�u˜dœnÑ-Ô-ð (Ø” ¤Ò-ð(à”	˜UœZÒ'ð(ð ”
˜eœkÒ)ð(ð ”	˜UœZÒ'ð	
r   rI   c           
     óÔ   — | j         j        }t          | j        | j        | j        | j        h¦  «        dk    r|› d| j        › d�S |› d| j        › d| j        › d| j        › d| j        › d�
S )Nr   z	(timeout=ú)z	(connect=z, read=z, write=z, pool=)r~   r   rf   rm   rn   ro   rp   ©r+   Ú
class_names     r   Ú__repr__zTimeout.__repr__  s¦   € Ø”^Ô,ˆ
Ý�”˜dœi¨¬°T´YÐ?Ñ@Ô@ÀAÒEÐEØ Ð:Ð:¨4¬<Ð:Ð:Ð:Ð:àð Gð G D¤Lð Gð GØ”IðGð GØ'+¤zðGð GØ:>¼)ðGð Gð Gð	
r   N)rq   rr   rm   rs   rn   rs   ro   rs   rp   rs   r   r'   )r   rx   ©r{   r|   r   r   ©r   rI   )	r   r   r   rg   rv   r,   rz   r€   r…   r   r   r   rk   rk   Â   s˜   € € € € € ðð ð -2ð,Ið -2Ø).Ø*/Ø).ð,Ið ,Ið ,Ið ,Ið ,Ið ,Ið\
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
r   rk   c                  ó4   — e Zd ZdZddddœdd„Zdd„Zdd„ZdS )ÚLimitsaÖ  
    Configuration for limits to various client behaviors.

    **Parameters:**

    * **max_connections** - The maximum number of concurrent connections that may be
            established.
    * **max_keepalive_connections** - Allow the connection pool to maintain
            keep-alive connections below this point. Should be less than or equal
            to `max_connections`.
    * **keepalive_expiry** - Time limit on idle keep-alive connections in seconds.
    Nç      @©Úmax_connectionsÚmax_keepalive_connectionsÚkeepalive_expiryrŒ   ú
int | Noner�   rŽ   úfloat | Noner   r'   c               ó0   — || _         || _        || _        d S r)   r‹   )r+   rŒ   r�   rŽ   s       r   r,   zLimits.__init__'  s"   € ð  /ˆÔØ)BˆÔ&Ø 0ˆÔÐÐr   r{   r|   r   c                óŒ   — t          || j        ¦  «        o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r)   )r>   r~   rŒ   r�   rŽ   r   s     r   r€   zLimits.__eq__2  sT   € å�u˜dœnÑ-Ô-ð @ØÔ$¨Ô(=Ò=ð@àÔ.°%Ô2QÒQð@ð Ô%¨Ô)?Ò?ð		
r   rI   c                óT   — | j         j        }|› d| j        › d| j        › d| j        › d�S )Nz(max_connections=z, max_keepalive_connections=z, keepalive_expiry=r‚   )r~   r   rŒ   r�   rŽ   rƒ   s     r   r…   zLimits.__repr__:  sR   € Ø”^Ô,ˆ
àð 9ð 9¨DÔ,@ð 9ð 9Ø)-Ô)Gð9ð 9à $Ô 5ð9ð 9ð 9ð	
r   )rŒ   r�   r�   r�   rŽ   r�   r   r'   r†   r‡   )r   r   r   rg   r,   r€   r…   r   r   r   r‰   r‰     so   € € € € € ðð ð  '+Ø04Ø),ð	1ð 	1ð 	1ð 	1ð 	1ð 	1ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
r   r‰   c                  ó@   — e Zd Zddddœdd„Zedd„¦   «         Zdd„ZdS )ÚProxyN)r$   ÚauthÚheadersÚurlr   r$   ússl.SSLContext | Noner–   útuple[str, str] | Noner—   úHeaderTypes | Noner   r'   c               ó  — t          |¦  «        }t          |¦  «        }|j        dvrt          d|›�¦  «        ‚|j        s|j        r%|j        |j        f}|                     d d ¬¦  «        }|| _        || _        || _	        || _
        d S )N)ÚhttpÚhttpsÚsocks5zUnknown scheme for proxy URL )Úusernamerc   )r   r   Úschemerw   r    rc   Ú	copy_withr˜   r–   r—   r$   )r+   r˜   r$   r–   r—   s        r   r,   zProxy.__init__D  sš   € õ �#‰hŒhˆÝ˜'Ñ"Ô"ˆàŒ:Ð8Ð8Ð8ÝÐD¸SÐDÐDÑEÔEÐEàŒ<ð 	>˜3œ<ð 	>à”L #¤,Ð/ˆDØ—-’-¨¸�-Ñ=Ô=ˆCàˆŒØˆŒ	ØˆŒØ&ˆÔÐÐr   útuple[bytes, bytes] | Nonec                ó”   — | j         €d n?| j         d                              d¦  «        | j         d                              d¦  «        fS )Nr   zutf-8r   )r–   Úencoder2   s    r   Úraw_authzProxy.raw_auth\  sH   € ð
 ŒyÐ ð ˆDà”)˜A”,×%Ò% gÑ.Ô.°´	¸!´×0CÒ0CÀGÑ0LÔ0LÐMð	
r   rI   c                óÂ   — | j         r| j         d         dfnd }t          | j        ¦  «        ›}|rd|›�nd}| j        rdt	          | j        ¦  «        ›�nd}d|› |› |› d�S )Nr   z********z, auth=Ú z
, headers=zProxy(r‚   )r–   rI   r˜   r—   Údict)r+   r–   Úurl_strÚauth_strÚheaders_strs        r   r…   zProxy.__repr__e  s‡   € à-1¬YÐ@�”	˜!”˜jÐ)Ð)¸Dˆõ ˜œ‘]”]Ð&ˆØ)-Ð5Ð%˜TÐ%Ð%Ð%°2ˆØ=A¼\ÐQÐ9¥4¨¬Ñ#5Ô#5Ð9Ð9Ð9ÈrˆØ9˜Ð9 Ð9¨;Ð9Ð9Ð9Ð9r   )
r˜   r   r$   r™   r–   rš   r—   r›   r   r'   )r   r£   r‡   )r   r   r   r,   Úpropertyr¦   r…   r   r   r   r•   r•   C  sq   € € € € € ð
 .2Ø'+Ø&*ð'ð 'ð 'ð 'ð 'ð 'ð0 ð
ð 
ð 
ñ „Xð
ð:ð :ð :ð :ð :ð :r   r•   rŠ   )rq   éd   é   )rŒ   r�   )NTTF)
r   r   r   r   r   r   r   r   r   r    )%Ú
__future__r   ÚloggingrX   r6   ÚtypingÚpathlibr   rh   Ú_compatr   Ú_modelsr   Ú_typesr   r	   r
   r   r   Ú_urlsr   Ú_utilsr   ÚjoinrU   Ú	getLoggerr.   r   rv   r%   r#   rk   r‰   r•   ÚDEFAULT_TIMEOUT_CONFIGÚDEFAULT_LIMITSÚDEFAULT_MAX_REDIRECTSr   r   r   ú<module>r¾      sC  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð à €€€à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *à—(’(ðð ð ñô €ð( 
ˆÔ	˜7Ñ	#Ô	#€ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ˆ	‰Œ€ð "ØØØð	ð ð ð ð ðEð Eð Eð Eð Eñ Eô Eð EðPT
ð T
ð T
ð T
ð T
ñ T
ô T
ð T
ðn'
ð '
ð '
ð '
ð '
ñ '
ô '
ð '
ðT*:ð *:ð *:ð *:ð *:ñ *:ô *:ð *:ðZ !˜¨Ð-Ñ-Ô-Ð Ø�¨ÀrÐJÑJÔJ€ØÐ Ð Ð r   