§
    ëXÊjY6  ã                  ó@  — U d Z ddlmZ ddlZddlZddlmZ ddlmZ ej	        rddl
Z
ddlZddlmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dd	l m!Z!m"Z" dd
l#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) ddl*m+Z+m,Z,  ej-        dd¬¦  «        Z. ej-        dd¬¦  «        Z/e0e1e1e1f         e0e1e1e2e3z  f         z  e0e1e1de1f         z  Z4ddgZ5i a6de7d<   dd„Z8ej9        d d„¦   «         Z: G d„ de'¦  «        Z; G d„ de,¦  «        Z< G d„ de$¦  «        Z= G d„ de+¦  «        Z>dS )!a¦  
Custom transports, with nicely configured defaults.

The following additional keyword arguments are currently supported by httpcore...

* uds: str
* local_address: str
* retries: int

Example usages...

# Disable HTTP/2 on a single specific domain.
mounts = {
    "all://": httpx2.HTTPTransport(http2=True),
    "all://*example.org": httpx2.HTTPTransport()
}

# Using advanced httpcore configuration, with connection retries.
transport = httpx2.HTTPTransport(retries=1)
client = httpx2.Client(transport=transport)

# Using advanced httpcore configuration, with unix domain sockets.
transport = httpx2.HTTPTransport(uds="socket.uds")
client = httpx2.Client(transport=transport)
é    )ÚannotationsN)Ú	Generator)ÚTracebackTypeé   )ÚDEFAULT_LIMITSÚLimitsÚProxyÚcreate_ssl_context)ÚConnectErrorÚConnectTimeoutÚLocalProtocolErrorÚNetworkErrorÚPoolTimeoutÚProtocolErrorÚ
ProxyErrorÚ	ReadErrorÚReadTimeoutÚRemoteProtocolErrorÚTimeoutExceptionÚUnsupportedProtocolÚ
WriteErrorÚWriteTimeout)ÚRequestÚResponse)ÚAsyncByteStreamÚ	CertTypesÚ
ProxyTypesÚSyncByteStream)ÚURLé   )ÚAsyncBaseTransportÚBaseTransportÚTÚHTTPTransport)ÚboundÚAÚAsyncHTTPTransportú-dict[type[Exception], type[httpx2.HTTPError]]ÚHTTPCORE_EXC_MAPÚreturnc                 ó^  — dd l } | j        t          | j        t          | j        t          | j        t          | j        t
          | j        t          | j        t          | j        t          | j	        t          | j
        t          | j        t          | j        t          | j        t          | j        t          iS ©Nr   )Ú	httpcore2r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r-   s    úKC:\Projects\Historical\venv\Lib\site-packages\httpx2/_transports/default.pyÚ_load_httpcore_exceptionsr/   G   sŽ   € ØÐÐÐð 	Ô"Õ$4ØÔ ¥.ØÔ�{ØÔ¥ØÔ�{ØÔ¥ØÔ¥ØÔ�YØÔ�jØÔ�jØÔ%Õ':ØÔ¥ØÔ$Õ&8ØÔ%Õ':ðð ó    úGenerator[None]c               #  óL  K  — t          t          ¦  «        dk    rt          ¦   «         a	 d V — d S # t          $ ri} d }t                               ¦   «         D ]*\  }}t          | |¦  «        sŒ|�t          ||¦  «        r|}Œ+|€‚ t          | ¦  «        } ||¦  «        | ‚d } ~ ww xY wr,   )Úlenr)   r/   Ú	ExceptionÚitemsÚ
isinstanceÚ
issubclassÚstr)ÚexcÚ
mapped_excÚfrom_excÚto_excÚmessages        r.   Úmap_httpcore_exceptionsr>   \   sÖ   è è € õ ÕÑÔ Ò!Ð!Ý4Ñ6Ô6Ðð+ØˆˆˆˆˆøÝð +ð +ð +Øˆ
å 0× 6Ò 6Ñ 8Ô 8ð 	$ð 	$ÑˆH�fÝ˜c 8Ñ,Ô,ð Øð Ð!¥Z°¸
Ñ%CÔ%CÐ!Ø#�
øàÐØå�c‘(”(ˆØˆj˜Ñ!Ô! sÐ*øøøøð!+øøøs   ª0 °
B#ºA$BÂB#c                  ó&   — e Zd Zd
d„Zdd„Zdd„Zd	S )ÚResponseStreamÚhttpcore_streamútyping.Iterable[bytes]r*   ÚNonec                ó   — || _         d S ©N©Ú_httpcore_stream©ÚselfrA   s     r.   Ú__init__zResponseStream.__init__w   ó   € Ø /ˆÔÐÐr0   útyping.Iterator[bytes]c              #  ór   K  — t          ¦   «         5  | j        E d {V —† d d d ¦  «         d S # 1 swxY w Y   d S rE   ©r>   rG   ©rI   s    r.   Ú__iter__zResponseStream.__iter__z   s‘   è è € Ý$Ñ&Ô&ð 	-ð 	-ØÔ,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s   ‘,¬0³0c                óf   — t          | j        d¦  «        r| j                             ¦   «          d S d S )NÚclose)ÚhasattrrG   rR   rO   s    r.   rR   zResponseStream.close~   s<   € Ý�4Ô(¨'Ñ2Ô2ð 	*ØÔ!×'Ò'Ñ)Ô)Ð)Ð)Ð)ð	*ð 	*r0   N)rA   rB   r*   rC   )r*   rL   ©r*   rC   )Ú__name__Ú
__module__Ú__qualname__rJ   rP   rR   © r0   r.   r@   r@   v   sP   € € € € € ð0ð 0ð 0ð 0ð-ð -ð -ð -ð*ð *ð *ð *ð *ð *r0   r@   c                  óV   — e Zd Zdddddedddddfd*d„Zd+d„Z	 	 	 d,d-d$„Zd.d(„Zd/d)„ZdS )0r$   TNFr   Úverifyússl.SSLContext | str | boolÚcertúCertTypes | NoneÚ	trust_envÚboolÚhttp1Úhttp2Úlimitsr   ÚproxyúProxyTypes | NoneÚudsú
str | NoneÚlocal_addressÚretriesÚintÚsocket_optionsú%typing.Iterable[SOCKET_OPTION] | Noner*   rC   c                ó²  — dd l }t          |t          t          f¦  «        rt	          |¬¦  «        n|}t          |||¬¦  «        }|€5|                     ||j        |j        |j	        ||||	|
|¬¦
  «
        | _
        d S |j        j        dv r‰|                     |                     |j        j        |j        j        |j        j        |j        j        ¬¦  «        |j        |j        j        ||j        |j        |j        |j	        |||¬¦  «        | _
        d S |j        j        dv r›	 dd l}n# t.          $ r t/          d	¦  «        d ‚w xY w|                     |                     |j        j        |j        j        |j        j        |j        j        ¬¦  «        |j        ||j        |j        |j	        ||¬
¦  «        | _
        d S t3          d|j        j        ›d�¦  «        ‚)Nr   ©Úurl©rZ   r\   r^   ©
Ússl_contextÚmax_connectionsÚmax_keepalive_connectionsÚkeepalive_expiryr`   ra   re   rg   rh   rj   ©ÚhttpÚhttps©ÚschemeÚhostÚportÚtarget)Ú	proxy_urlÚ
proxy_authÚproxy_headersrq   Úproxy_ssl_contextrr   rs   rt   r`   ra   rj   ©Úsocks5Úsocks5hú{Using SOCKS proxy, but the 'socksio' package is not installed. Make sure to install httpx using `pip install httpx[socks]`.©r}   r~   rq   rr   rs   rt   r`   ra   úOProxy protocol must be either 'http', 'https', 'socks5', or 'socks5h', but got ú.)r-   r6   r8   r   r	   r
   ÚConnectionPoolrr   rs   rt   Ú_poolrn   ry   Ú	HTTPProxyÚ
raw_schemeÚraw_hostr{   Úraw_pathÚraw_authÚheadersÚrawrq   ÚsocksioÚImportErrorÚ
SOCKSProxyÚ
ValueError©rI   rZ   r\   r^   r`   ra   rb   rc   re   rg   rh   rj   r-   rq   r‘   s                  r.   rJ   zHTTPTransport.__init__„   s0  € ð 	ÐÐÐå$.¨uµs½C°jÑ$AÔ$AÐL•˜%Ð Ñ Ô Ð ÀuˆÝ(°¸TÈYÐWÑWÔWˆàˆ=Ø"×1Ò1Ø'Ø &Ô 6Ø*0Ô*JØ!'Ô!8ØØØØ+ØØ-ð 2ñ ô ˆDŒJˆJˆJð ŒYÔÐ!2Ð2Ð2Ø"×,Ò,Ø#Ÿ-š-Ø œ9Ô/ØœÔ+ØœœØ œ9Ô-ð	 (ñ ô ð !œ>Ø#œmÔ/Ø'Ø"'Ô"3Ø &Ô 6Ø*0Ô*JØ!'Ô!8ØØØ-ð! -ñ ô ˆDŒJˆJˆJð$ ŒYÔÐ!6Ð6Ð6ðØ����øÝð ð ð Ý!ðSñô ð ððøøøð #×-Ò-Ø#Ÿ-š-Ø œ9Ô/ØœÔ+ØœœØ œ9Ô-ð	 (ñ ô ð !œ>Ø'Ø &Ô 6Ø*0Ô*JØ!'Ô!8ØØð .ñ ô ˆDŒJˆJˆJõ  ØwÐbgÔbkÔbrÐwÐwÐwñô ð ó   Ä"D' Ä'ErI   r#   c                ó8   — | j                              ¦   «          | S rE   )r‰   Ú	__enter__rO   s    r.   r˜   zHTTPTransport.__enter__Ô   s   € ØŒ
×ÒÑÔÐØˆr0   Úexc_typeútype[BaseException] | NoneÚ	exc_valueúBaseException | NoneÚ	tracebackúTracebackType | Nonec                óŒ   — t          ¦   «         5  | j                             |||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rE   )r>   r‰   Ú__exit__©rI   r™   r›   r�   s       r.   r    zHTTPTransport.__exit__Ø   s¢   € õ %Ñ&Ô&ð 	@ð 	@ØŒJ×Ò ¨)°YÑ?Ô?Ð?ð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@ð 	@ð 	@s   �9¹=Á =Úrequestr   r   c           	     óP  — t          |j        t          ¦  «        sJ ‚dd l}|                     |j        |                     |j        j        |j        j	        |j        j
        |j        j        ¬¦  «        |j        j        |j        |j        ¬¦  «        }t          ¦   «         5  | j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |j        t$          j        ¦  «        sJ ‚t)          |j        |j        t-          |j        ¦  «        |j        ¬¦  «        S ©Nr   rx   )Úmethodrn   r�   ÚcontentÚ
extensions)Ústatus_coder�   Ústreamr§   )r6   r©   r   r-   r   r¥   r   rn   r‹   rŒ   r{   r�   r�   r�   r§   r>   r‰   Úhandle_requestÚtypingÚIterabler   Ústatusr@   ©rI   r¢   r-   ÚreqÚresps        r.   rª   zHTTPTransport.handle_requestá   sY  € õ ˜'œ.­.Ñ9Ô9Ð9Ð9Ð9ØÐÐÐà×ÒØ”>Ø—’Ø”{Ô-Ø”[Ô)Ø”[Ô%Ø”{Ô+ð	 ñ ô ð ”OÔ'Ø”NØÔ)ð  ñ 
ô 
ˆõ %Ñ&Ô&ð 	2ð 	2Ø”:×,Ò,¨SÑ1Ô1ˆDð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2õ ˜$œ+¥v¤Ñ7Ô7Ð7Ð7Ð7åØœØ”LÝ! $¤+Ñ.Ô.Ø”ð	
ñ 
ô 
ð 	
s   Â!CÃCÃCc                ó8   — | j                              ¦   «          d S rE   )r‰   rR   rO   s    r.   rR   zHTTPTransport.close   s   € ØŒ
×ÒÑÔÐÐÐr0   ©rZ   r[   r\   r]   r^   r_   r`   r_   ra   r_   rb   r   rc   rd   re   rf   rg   rf   rh   ri   rj   rk   r*   rC   )rI   r#   r*   r#   ©NNN©r™   rš   r›   rœ   r�   rž   r*   rC   ©r¢   r   r*   r   rT   )	rU   rV   rW   r   rJ   r˜   r    rª   rR   rX   r0   r.   r$   r$   ƒ   s»   € € € € € ð /3Ø!%ØØØØ'Ø#'ØØ$(ØØ@DðNð Nð Nð Nð Nð`ð ð ð ð 04Ø*.Ø*.ð	@ð @ð @ð @ð @ð
ð 
ð 
ð 
ð>ð ð ð ð ð r0   c                  ó&   — e Zd Zd
d„Zdd„Zdd„Zd	S )ÚAsyncResponseStreamrA   útyping.AsyncIterable[bytes]r*   rC   c                ó   — || _         d S rE   rF   rH   s     r.   rJ   zAsyncResponseStream.__init__  rK   r0   útyping.AsyncIterator[bytes]c               ó„   K  — t          ¦   «         5  | j        2 3 d {V —†}|W V — Œ6 	 d d d ¦  «         d S # 1 swxY w Y   d S rE   rN   )rI   Úparts     r.   Ú	__aiter__zAsyncResponseStream.__aiter__  s¶   è è € Ý$Ñ&Ô&ð 	ð 	Ø"Ô3ð ð ð ð ð ð ð �dØ�
�
�
�
�
ð 4Ð3ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ‘5™&Ÿ5µ9¼9c              ƒ  óv   K  — t          | j        d¦  «        r!| j                             ¦   «         ƒ d {V —† d S d S )NÚaclose)rS   rG   r¿   rO   s    r.   r¿   zAsyncResponseStream.aclose  sR   è è € Ý�4Ô(¨(Ñ3Ô3ð 	1ØÔ'×.Ò.Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ð	1ð 	1r0   N)rA   r¸   r*   rC   )r*   rº   rT   )rU   rV   rW   rJ   r½   r¿   rX   r0   r.   r·   r·     sP   € € € € € ð0ð 0ð 0ð 0ðð ð ð ð
1ð 1ð 1ð 1ð 1ð 1r0   r·   c                  óV   — e Zd Zdddddedddddfd*d„Zd+d„Z	 	 	 d,d-d$„Zd.d(„Zd/d)„ZdS )0r'   TNFr   rZ   r[   r\   r]   r^   r_   r`   ra   rb   r   rc   rd   re   rf   rg   rh   ri   rj   rk   r*   rC   c                ó²  — dd l }t          |t          t          f¦  «        rt	          |¬¦  «        n|}t          |||¬¦  «        }|€5|                     ||j        |j        |j	        ||||	|
|¬¦
  «
        | _
        d S |j        j        dv r‰|                     |                     |j        j        |j        j        |j        j        |j        j        ¬¦  «        |j        |j        j        |j        ||j        |j        |j	        |||¬¦  «        | _
        d S |j        j        dv r›	 dd l}n# t.          $ r t/          d	¦  «        d ‚w xY w|                     |                     |j        j        |j        j        |j        j        |j        j        ¬¦  «        |j        ||j        |j        |j	        ||¬
¦  «        | _
        d S t3          d|j        j        ›d�¦  «        ‚)Nr   rm   ro   rp   ru   rx   )r}   r~   r   r€   rq   rr   rs   rt   r`   ra   rj   r�   r„   r…   r†   r‡   )r-   r6   r8   r   r	   r
   ÚAsyncConnectionPoolrr   rs   rt   r‰   rn   ry   ÚAsyncHTTPProxyr‹   rŒ   r{   r�   rŽ   r�   r�   rq   r‘   r’   ÚAsyncSOCKSProxyr”   r•   s                  r.   rJ   zAsyncHTTPTransport.__init__  s0  € ð 	ÐÐÐå$.¨uµs½C°jÑ$AÔ$AÐL•˜%Ð Ñ Ô Ð ÀuˆÝ(°¸TÈYÐWÑWÔWˆàˆ=Ø"×6Ò6Ø'Ø &Ô 6Ø*0Ô*JØ!'Ô!8ØØØØ+ØØ-ð 7ñ ô ˆDŒJˆJˆJð ŒYÔÐ!2Ð2Ð2Ø"×1Ò1Ø#Ÿ-š-Ø œ9Ô/ØœÔ+ØœœØ œ9Ô-ð	 (ñ ô ð !œ>Ø#œmÔ/Ø"'Ô"3Ø'Ø &Ô 6Ø*0Ô*JØ!'Ô!8ØØØ-ð! 2ñ ô ˆDŒJˆJˆJð$ ŒYÔÐ!6Ð6Ð6ðØ����øÝð ð ð Ý!ðSñô ð ððøøøð #×2Ò2Ø#Ÿ-š-Ø œ9Ô/ØœÔ+ØœœØ œ9Ô-ð	 (ñ ô ð !œ>Ø'Ø &Ô 6Ø*0Ô*JØ!'Ô!8ØØð 3ñ ô ˆDŒJˆJˆJõ  ØwÐbgÔbkÔbrÐwÐwÐwñô ð r–   rI   r&   c              ƒ  óH   K  — | j                              ¦   «         ƒ d {V —† | S rE   )r‰   Ú
__aenter__rO   s    r.   rÆ   zAsyncHTTPTransport.__aenter__c  s1   è è € ØŒj×#Ò#Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Øˆr0   r™   rš   r›   rœ   r�   rž   c              ƒ  óœ   K  — t          ¦   «         5  | j                             |||¦  «        ƒ d {V —† d d d ¦  «         d S # 1 swxY w Y   d S rE   )r>   r‰   Ú	__aexit__r¡   s       r.   rÈ   zAsyncHTTPTransport.__aexit__g  s¸   è è € õ %Ñ&Ô&ð 	Gð 	GØ”*×&Ò& x°¸IÑFÔFÐFÐFÐFÐFÐFÐFÐFð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   ‘#AÁAÁAr¢   r   r   c           	   ƒ  ó`  K  — t          |j        t          ¦  «        sJ ‚dd l}|                     |j        |                     |j        j        |j        j	        |j        j
        |j        j        ¬¦  «        |j        j        |j        |j        ¬¦  «        }t          ¦   «         5  | j                             |¦  «        ƒ d {V —†}d d d ¦  «         n# 1 swxY w Y   t          |j        t$          j        ¦  «        sJ ‚t)          |j        |j        t-          |j        ¦  «        |j        ¬¦  «        S r¤   )r6   r©   r   r-   r   r¥   r   rn   r‹   rŒ   r{   r�   r�   r�   r§   r>   r‰   Úhandle_async_requestr«   ÚAsyncIterabler   r­   r·   r®   s        r.   rÊ   z'AsyncHTTPTransport.handle_async_requestp  sp  è è € õ ˜'œ.­/Ñ:Ô:Ð:Ð:Ð:ØÐÐÐà×ÒØ”>Ø—’Ø”{Ô-Ø”[Ô)Ø”[Ô%Ø”{Ô+ð	 ñ ô ð ”OÔ'Ø”NØÔ)ð  ñ 
ô 
ˆõ %Ñ&Ô&ð 	>ð 	>Øœ×8Ò8¸Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=ˆDð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>õ ˜$œ+¥vÔ';Ñ<Ô<Ð<Ð<Ð<åØœØ”LÝ& t¤{Ñ3Ô3Ø”ð	
ñ 
ô 
ð 	
s   Â#!CÃCÃCc              ƒ  óH   K  — | j                              ¦   «         ƒ d {V —† d S rE   )r‰   r¿   rO   s    r.   r¿   zAsyncHTTPTransport.aclose�  s2   è è € ØŒj×ÒÑ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!r0   r²   )rI   r&   r*   r&   r³   r´   rµ   rT   )	rU   rV   rW   r   rJ   rÆ   rÈ   rÊ   r¿   rX   r0   r.   r'   r'     s»   € € € € € ð /3Ø!%ØØØØ'Ø#'ØØ$(ØØ@DðNð Nð Nð Nð Nð`ð ð ð ð 04Ø*.Ø*.ð	Gð Gð Gð Gð Gð
ð 
ð 
ð 
ð>"ð "ð "ð "ð "ð "r0   )r*   r(   )r*   r1   )?Ú__doc__Ú
__future__r   Ú
contextlibr«   Úcollections.abcr   Útypesr   ÚTYPE_CHECKINGÚsslÚhttpx2Ú_configr   r   r	   r
   Ú_exceptionsr   r   r   r   r   r   r   r   r   r   r   r   r   r   Ú_modelsr   r   Ú_typesr   r   r   r   Ú_urlsr   Úbaser!   r"   ÚTypeVarr#   r&   Útupleri   ÚbytesÚ	bytearrayÚSOCKET_OPTIONÚ__all__r)   Ú__annotations__r/   Úcontextmanagerr>   r@   r$   r·   r'   rX   r0   r.   ú<module>rã      s.  ððð ð ð4 #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð à	Ôð Ø€J€J€Jà€M€M€Mà GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð  (Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3à€F„N�3˜oÐ.Ñ.Ô.€Ø€F„N�3Ð2Ð3Ñ3Ô3€à�c˜3 �mÔ$ u¨S°#°u¸yÑ7HÐ-HÔ'IÑIÈEÐRUÐWZÐ\`ÐbeÐReÔLfÑf€à Ð
1€àBDÐ Ð DÐ DÐ DÑ Dðð ð ð ð* Ôð+ð +ð +ñ Ôð+ð2
*ð 
*ð 
*ð 
*ð 
*�^ñ 
*ô 
*ð 
*ð~ð ~ð ~ð ~ð ~�Mñ ~ô ~ð ~ðB1ð 1ð 1ð 1ð 1˜/ñ 1ô 1ð 1ð~"ð ~"ð ~"ð ~"ð ~"Ð+ñ ~"ô ~"ð ~"ð ~"ð ~"r0   