§
    ÏÁ³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ZddlmZ ddl	m
Z
mZmZ ddlmZmZ ddlmZmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ dZ ej        d¦  «        Z dd„Z! G d„ de¦  «        Z"dS )é    )ÚannotationsNé   )ÚSyncBackend)ÚSOCKET_OPTIONÚNetworkBackendÚNetworkStream)ÚConnectErrorÚConnectTimeout)ÚOriginÚRequestÚResponse)Údefault_ssl_context)ÚLock)ÚTraceé   )ÚHTTP11Connection)ÚConnectionInterfaceg      à?zhttpcore.connectionÚfactorÚfloatÚreturnútyping.Iterator[float]c              #  óR   K  — dV — t          j        ¦   «         D ]}| d|z  z  V — ŒdS )zÇ
    Generate a geometric sequence that has a ratio of 2 and starts with 0.

    For example:
    - `factor = 2`: `0, 2, 4, 8, 16, 32, 64, ...`
    - `factor = 3`: `0, 3, 6, 12, 24, 48, 96, ...`
    r   r   N)Ú	itertoolsÚcount)r   Úns     úW/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/httpcore/_sync/connection.pyÚexponential_backoffr      sI   è è € ð €G€G€GÝŒ_ÑÔð ð ˆØ�q˜!‘t‰mÐÐÐÐðð ó    c                  ó’   — e Zd Z	 	 	 	 	 	 	 	 	 d1d2d„Zd3d„Zd4d„Zd5d „Zd6d!„Zd7d"„Zd7d#„Z	d7d$„Z
d7d%„Zd8d'„Zd8d(„Zd9d)„Z	 	 	 d:d;d0„ZdS )<ÚHTTPConnectionNTFr   Úoriginr   Ússl_contextússl.SSLContext | NoneÚkeepalive_expiryúfloat | NoneÚhttp1ÚboolÚhttp2ÚretriesÚintÚlocal_addressú
str | NoneÚudsÚnetwork_backendúNetworkBackend | NoneÚsocket_optionsú%typing.Iterable[SOCKET_OPTION] | Noner   ÚNonec                óô   — || _         || _        || _        || _        || _        || _        || _        || _        |	€t          ¦   «         n|	| _	        d | _
        d| _        t          ¦   «         | _        |
| _        d S )NF)Ú_originÚ_ssl_contextÚ_keepalive_expiryÚ_http1Ú_http2Ú_retriesÚ_local_addressÚ_udsr   Ú_network_backendÚ_connectionÚ_connect_failedr   Ú_request_lockÚ_socket_options)Úselfr!   r"   r$   r&   r(   r)   r+   r-   r.   r0   s              r   Ú__init__zHTTPConnection.__init__'   s…   € ð ˆŒØ'ˆÔØ!1ˆÔØˆŒØˆŒØˆŒØ+ˆÔØˆŒ	ð -Ð4�K‰MŒMˆM¸/ð 	Ôð 8<ˆÔØ%*ˆÔÝ!™VœVˆÔØ-ˆÔÐÐr   Úrequestr   r   c                óx  — |                       |j        j        ¦  «        s$t          d|j        j        › d| j        › �¦  «        ‚	 | j        5  | j        €›|                      |¦  «        }|                     d¦  «        }|d uo| 	                    ¦   «         dk    }|s| j
        r+| j        s$ddlm}  || j        || j        ¬¦  «        | _        n!t          | j        || j        ¬¦  «        | _        d d d ¦  «         n# 1 swxY w Y   n# t           $ r}d| _        |‚d }~ww xY w| j                             |¦  «        S )	NzAttempted to send request to z on connection to Ú
ssl_objectÚh2r   )ÚHTTP2Connection)r!   Ústreamr$   T)Úcan_handle_requestÚurlr!   ÚRuntimeErrorr4   r?   r=   Ú_connectÚget_extra_infoÚselected_alpn_protocolr8   r7   r(   rG   r6   r   ÚBaseExceptionr>   Úhandle_request)rA   rC   rH   rE   Úhttp2_negotiatedrG   Úexcs          r   rP   zHTTPConnection.handle_requestE   sÉ  € Ø×&Ò& w¤{Ô'9Ñ:Ô:ð 	ÝØd°´Ô0BÐdÐdÐVZÔVbÐdÐdñô ð ð	ØÔ#ð ð ØÔ#Ð+Ø!Ÿ]š]¨7Ñ3Ô3�Fà!'×!6Ò!6°|Ñ!DÔ!D�Jà"¨$Ð.ð HØ&×=Ò=Ñ?Ô?À4ÒGð %ð (ð ¨D¬Kð ÀÄð Ø:Ð:Ð:Ð:Ð:Ð:à+:¨?Ø#'¤<Ø#)Ø-1Ô-Cð,ñ ,ô ,˜Ô(Ð(õ ,<Ø#'¤<Ø#)Ø-1Ô-Cð,ñ ,ô ,˜Ô(ð%ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øøõ. ð 	ð 	ð 	Ø#'ˆDÔ ØˆIøøøøð	øøøð Ô×.Ò.¨wÑ7Ô7Ð7s=   ÁD ÁB#C;Ã/D Ã;C?Ã?D ÄC?ÄD Ä
DÄ	DÄDr   c                ó   — |j                              di ¦  «        }|j                              dd ¦  «        }|                     dd ¦  «        }| j        }t          t          ¬¦  «        }	 	 | j        €‚| j        j                             d¦  «        | j        j	        | j
        || j        dœ}t          dt          ||¦  «        5 } | j        j        di |¤Ž}	|	|_        d d d ¦  «         n# 1 swxY w Y   nX| j        || j        d	œ}t          d
t          ||¦  «        5 } | j        j        di |¤Ž}	|	|_        d d d ¦  «         n# 1 swxY w Y   | j        j        dv r§| j        €t)          ¦   «         n| j        }
| j        rddgndg}|
                     |¦  «         |
|p| j        j                             d¦  «        |dœ}t          dt          ||¦  «        5 } |	j        di |¤Ž}	|	|_        d d d ¦  «         n# 1 swxY w Y   |	S # t0          t2          f$ rg |dk    r‚ |dz  }t5          |¦  «        }t          dt          ||¦  «        5 }| j                             |¦  «         d d d ¦  «         n# 1 swxY w Y   Y nw xY w�Œ)NÚtimeoutÚsni_hostnameÚconnect)r   TÚascii)ÚhostÚportr+   rT   r0   Úconnect_tcp)ÚpathrT   r0   Úconnect_unix_socket)ó   httpss   wsszhttp/1.1rF   )r"   Úserver_hostnamerT   Ú	start_tlsr   r   Úretry© )Ú
extensionsÚgetr9   r   ÚRETRIES_BACKOFF_FACTORr;   r4   rX   ÚdecoderY   r:   r@   r   Úloggerr<   rZ   Úreturn_valuer\   Úschemer5   r   r8   Úset_alpn_protocolsr_   r	   r
   ÚnextÚsleep)rA   rC   ÚtimeoutsrU   rT   Úretries_leftÚdelaysÚkwargsÚtracerH   r"   Úalpn_protocolsÚdelays                r   rL   zHTTPConnection._connecti   sÛ  € ØÔ%×)Ò)¨)°RÑ8Ô8ˆØÔ)×-Ò-¨n¸dÑCÔCˆØ—,’,˜y¨$Ñ/Ô/ˆà”}ˆÝ$Õ,BÐCÑCÔCˆð4	7ð37Ø”9Ð$à $¤Ô 1× 8Ò 8¸Ñ AÔ AØ $¤Ô 1Ø)-Ô)<Ø#*Ø*.Ô*>ðð �Fõ ˜}­f°g¸vÑFÔFð 4È%Ø!B Ô!6Ô!BÐ!LÐ!LÀVÐ!LÐ!L˜Ø-3˜Ô*ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4øð
 !%¤	Ø#*Ø*.Ô*>ðð �Fõ
 Ø-­v°wÀñô ð 4àØ!J Ô!6Ô!Jð "ð "Ø$ð"ð "˜ð .4˜Ô*ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð ”<Ô&Ð*<Ð<Ð<ð  Ô,Ð4õ ,Ñ-Ô-Ð-à!Ô.ð  ð
 <@¼;Ð%X j°$Ð%7Ð%7ÈZÈL�NØ×2Ò2°>ÑBÔBÐBð (3Ø+7ð ,=Øœ<Ô,×3Ò3°GÑ<Ô<Ø#*ð	ð �Fõ ˜{­F°G¸VÑDÔDð 4ÈØ!1 Ô!1Ð!;Ð!;°FÐ!;Ð!;˜Ø-3˜Ô*ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð �øÝ ¥.Ð1ð 7ð 7ð 7Ø 1Ò$Ð$ØØ Ñ!�Ý˜V™œ�Ý˜7¥F¨G°VÑ<Ô<ð 7ÀØÔ)×/Ò/°Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7øøð7øøøñ]4	7s¥   Á+AH ÃC(ÃH Ã(C,Ã,H Ã/C,Ã0+H ÄEÄ5H ÅEÅH ÅEÅ	BH ÇG6Ç*H Ç6G:Ç:H Ç=G:Ç>H ÈAI;ÉI-É!I;É-I1	É1I;É4I1	É5I;É:I;c                ó   — || j         k    S ©N)r4   )rA   r!   s     r   rI   z!HTTPConnection.can_handle_request§   s   € Ø˜œÒ%Ð%r   c                óª   — | j         �Kt          dt          d i ¦  «        5  | j                              ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S d S )NÚclose)r=   r   rf   rv   ©rA   s    r   rv   zHTTPConnection.closeª   s    € ØÔÐ'Ý�w¥¨¨bÑ1Ô1ð )ð )ØÔ ×&Ò&Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )ð (Ð's   ŸAÁA
ÁA
c                ó�   — | j         €'| j        o| j        j        dk    p| j         o| j         S | j                              ¦   «         S )Nr]   )r=   r8   r4   rh   r7   r>   Úis_availablerw   s    r   ry   zHTTPConnection.is_available¯   sW   € ØÔÐ#ð
 ”ð -Ø”\Ô(¨HÒ4ÐG¸D¼K¸ð-àÔ,Ð,ðð
 Ô×,Ò,Ñ.Ô.Ð.r   c                óP   — | j         €| j        S | j                              ¦   «         S rt   )r=   r>   Úhas_expiredrw   s    r   r{   zHTTPConnection.has_expired»   s)   € ØÔÐ#ØÔ'Ð'ØÔ×+Ò+Ñ-Ô-Ð-r   c                óP   — | j         €| j        S | j                              ¦   «         S rt   )r=   r>   Úis_idlerw   s    r   r}   zHTTPConnection.is_idleÀ   s)   € ØÔÐ#ØÔ'Ð'ØÔ×'Ò'Ñ)Ô)Ð)r   c                óP   — | j         €| j        S | j                              ¦   «         S rt   )r=   r>   Ú	is_closedrw   s    r   r   zHTTPConnection.is_closedÅ   s)   € ØÔÐ#ØÔ'Ð'ØÔ×)Ò)Ñ+Ô+Ð+r   Ústrc                óX   — | j         €| j        rdndS | j                              ¦   «         S )NzCONNECTION FAILEDÚ
CONNECTING)r=   r>   Úinforw   s    r   rƒ   zHTTPConnection.infoÊ   s4   € ØÔÐ#Ø*.Ô*>ÐPÐ&Ð&ÀLÐPØÔ×$Ò$Ñ&Ô&Ð&r   c                óL   — d| j         j        › d|                      ¦   «         › d�S )Nú<z [z]>)Ú	__class__Ú__name__rƒ   rw   s    r   Ú__repr__zHTTPConnection.__repr__Ï   s(   € Ø=�4”>Ô*Ð=Ð=¨d¯iªi©k¬kÐ=Ð=Ð=Ð=r   c                ó   — | S rt   ra   rw   s    r   Ú	__enter__zHTTPConnection.__enter__Õ   s   € Øˆr   Úexc_typeútype[BaseException] | NoneÚ	exc_valueúBaseException | NoneÚ	tracebackútypes.TracebackType | Nonec                ó.   — |                       ¦   «          d S rt   )rv   )rA   r‹   r�   r�   s       r   Ú__exit__zHTTPConnection.__exit__Ø   s   € ð 	�
Š
‰Œˆˆˆr   )	NNTFr   NNNN)r!   r   r"   r#   r$   r%   r&   r'   r(   r'   r)   r*   r+   r,   r-   r,   r.   r/   r0   r1   r   r2   )rC   r   r   r   )rC   r   r   r   )r!   r   r   r'   )r   r2   )r   r'   )r   r€   )r   r    )NNN)r‹   rŒ   r�   rŽ   r�   r�   r   r2   )r‡   Ú
__module__Ú__qualname__rB   rP   rL   rI   rv   ry   r{   r}   r   rƒ   rˆ   rŠ   r’   ra   r   r   r    r    &   sL  € € € € € ð .2Ø)-ØØØØ$(ØØ15Ø@Dð.ð .ð .ð .ð .ð<"8ð "8ð "8ð "8ðH<7ð <7ð <7ð <7ð|&ð &ð &ð &ð)ð )ð )ð )ð

/ð 
/ð 
/ð 
/ð.ð .ð .ð .ð
*ð *ð *ð *ð
,ð ,ð ,ð ,ð
'ð 'ð 'ð 'ð
>ð >ð >ð >ðð ð ð ð
 04Ø*.Ø04ð	ð ð ð ð ð ð r   r    )r   r   r   r   )#Ú
__future__r   r   ÚloggingÚsslÚtypesÚtypingÚ_backends.syncr   Ú_backends.baser   r   r   Ú_exceptionsr	   r
   Ú_modelsr   r   r   Ú_sslr   Ú_synchronizationr   Ú_tracer   Úhttp11r   Ú
interfacesr   rd   Ú	getLoggerrf   r   r    ra   r   r   ú<module>r¤      su  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø 
€
€
€
Ø €€€Ø €€€à (Ð (Ð (Ð (Ð (Ð (Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø &Ð &Ð &Ð &Ð &Ð &Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø +Ð +Ð +Ð +Ð +Ð +àÐ ð 
ˆÔ	Ð0Ñ	1Ô	1€ð
ð 
ð 
ð 
ðxð xð xð xð xÐ(ñ xô xð xð xð xr   