+
     hm9  c                  s   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^RIHtHt ^RI	H
t
 ^RIHtHtHtHtHtHtHt ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIH t  ]PB                  ]"]#3,          t$]PJ                  ]PL                  ]$]$3,          ,          t']PP                  ]$]$3,          t)]PT                  ! R4      t+RR R llt, ! R R]4      t- ! R R] 4      t. ! R R] 4      t/R# )    )annotationsN)SOCKET_OPTIONAsyncNetworkBackend)
ProxyError)URLOriginRequestResponseenforce_bytesenforce_headersenforce_url)default_ssl_context)	AsyncLock)Trace)AsyncHTTPConnection)AsyncConnectionPool)AsyncHTTP11Connection)AsyncConnectionInterfacezhttpcore.proxyc               s$    V ^8  d   QhRRRRRR/# )   default_headers+typing.Sequence[tuple[bytes, bytes]] | Noneoverride_headersreturnzlist[tuple[bytes, bytes]] Zformat   "?/usr/lib/python3.14/site-packages/httpcore/_async/http_proxy.py__annotate__r   #   s&     . .@.A. .    c                s    V f   . M
\        V 4      p Vf   . M
\        V4      p\        R V 4       4      pV  UUu. uF  w  r4VP                  4       V9  g   K  W43NK!  	  p ppW,           # u uppi )z\
Append default_headers and override_headers, de-duplicating if a key exists
in both cases.
c              3  sF   "   T F  w  rVP                  4       x  K  	  R # 5iN)lower)Z.0keyvalues   &  r   Z	<genexpr>Z merge_headers.<locals>.<genexpr>-   s     F5Ezssyy{{5Es   !)ZlistZsetr   )r   r   Zhas_overrider    r!      &&   r   merge_headersr#   #   s     ,3bo9NO-5r4@P;QF5EFFL *)JC99;l* 	)  
 --s   A*A*c                  sB   a  ] tR t^6tRtRR V 3R llltR R ltRtV ;t# )AsyncHTTPProxyz:
A connection pool that sends requests via an HTTP proxy.
c                sX    V ^8  d   QhRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRR/# )r   	proxy_urlzURL | bytes | str
proxy_authz&tuple[bytes | str, bytes | str] | Noneproxy_headers+HeadersAsMapping | HeadersAsSequence | Nonessl_contextssl.SSLContext | Noneproxy_ssl_contextmax_connectionsz
int | Nonemax_keepalive_connectionskeepalive_expiryfloat | Nonehttp1boolhttp2retriesZintlocal_addressz
str | Noneudsnetwork_backendAsyncNetworkBackend | Nonesocket_options%typing.Iterable[SOCKET_OPTION] | Noner   Noner   r   r   r   r   AsyncHTTPProxy.__annotate__;   s     U$ U$$U$ ;U$ C	U$
 +U$ 1U$ $U$ $.U$ 'U$ U$ U$ U$ "U$ U$ 4U$  >!U$" 
#U$r   c                s  < \         SV `  VVVVV	V
VVVVVR7       \        VRR7      V n        V P                  P                  R8X  d   Ve   \        R4      hW@n        WPn        \        VRR7      V n	        Ves   \        V^ ,          RR7      p\        V^,          RR7      pVR	,           V,           pR
\        P                  ! V4      ,           pRV3.V P                  ,           V n	        R# R# )a  
A connection pool for making HTTP requests.

Parameters:
    proxy_url: The URL to use when connecting to the proxy server.
        For example `"http://127.0.0.1:8080/"`.
    proxy_auth: Any proxy authentication as a two-tuple of
        (username, password). May be either bytes or ascii-only str.
    proxy_headers: Any HTTP headers to use for the proxy requests.
        For example `{"Proxy-Authorization": "Basic <username>:<password>"}`.
    ssl_context: An SSL context to use for verifying connections.
        If not specified, the default `httpcore.default_ssl_context()`
        will be used.
    proxy_ssl_context: The same as `ssl_context`, but for a proxy server rather than a remote origin.
    max_connections: The maximum number of concurrent HTTP connections that
        the pool should allow. Any attempt to send a request on a pool that
        would exceed this amount will block until a connection is available.
    max_keepalive_connections: The maximum number of idle HTTP connections
        that will be maintained in the pool.
    keepalive_expiry: The duration in seconds that an idle HTTP connection
        may be maintained for before being expired from the pool.
    http1: A boolean indicating if HTTP/1.1 requests should be supported
        by the connection pool. Defaults to True.
    http2: A boolean indicating if HTTP/2 requests should be supported by
        the connection pool. Defaults to False.
    retries: The maximum number of retries when trying to establish
        a connection.
    local_address: Local address to connect from. Can also be used to
        connect using a particular address family. Using
        `local_address="0.0.0.0"` will connect using an `AF_INET` address
        (IPv4), while using `local_address="::"` will connect using an
        `AF_INET6` address (IPv6).
    uds: Path to a Unix Domain Socket to use instead of TCP sockets.
    network_backend: A backend instance to use for handling network I/O.
)r)   r,   r-   r.   r0   r2   r6   r3   r4   r5   r8   r%   Zname   httpNzCThe `proxy_ssl_context` argument is not allowed for the http schemer'   r&   s   :s   Basic s   Proxy-Authorization)Zsuper__init__r   
_proxy_urlschemeZRuntimeError_ssl_context_proxy_ssl_contextr
   _proxy_headersr	   base64Z	b64encode)selfr%   r&   r'   r)   r+   r,   r-   r.   r0   r2   r3   r4   r5   r6   r8   ZusernameZpasswordZuserpassZauthorization	__class__s   &&&&&&&&&&&&&&&&    r   r>   ZAsyncHTTPProxy.__init__;   s    j 	#+&?-+') 	 	
 &ikBOO""g-2C2OU  ("3-m/R!$Z]FH$Z]FH$1H%(8(8(BBM'7####$D "r   c                    V ^8  d   QhRRRR/# )r   originr   r   r   r   r   r   r   r   r;      s     
 
 
3K 
r   c                	s   VP                   R 8X  dN   \        V P                  P                  V P                  VV P
                  V P                  V P                  R7      # \        V P                  P                  V P                  VV P                  V P                  V P
                  V P                  V P                  V P                  R7	      # )r=   )proxy_originr'   remote_originr.   r6   r+   )	rI   r'   rJ   r)   r+   r.   r0   r2   r6   )r@   AsyncForwardHTTPConnectionr?   rH   rC   _keepalive_expiryZ_network_backendrB   AsyncTunnelHTTPConnectionrA   _http1_http2rE   rH      &&r   create_connectionZ AsyncHTTPProxy.create_connection   s    ==G#-!__33"11$!%!7!7 $ 5 5"&"9"9  )//-- ))"55!33++++ 11

 
	
r   )rC   rB   r?   rA   )NNNNi
   NNTFr    NNNN)	__name__
__module____qualname____firstlineno__Z__doc__r>   rR   __static_attributes__Z__classcell__)rF   s   @r   r$   r$   6   s    U$ U$n
 
r   r$   c                  s    ] tR t^tRR R lltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltR R ltR R ltRtR# )rK   Nc               s8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# )r   rI   r   rJ   r'   r(   r.   r/   r6   r7   r8   r9   r+   r*   r   r:   r   r   r   r   r   'AsyncForwardHTTPConnection.__annotate__   s[     , ,, , C	,
 ', 4, >, 1, 
,r   c                	sl    \        VVVVVR 7      V n        Wn        \        VRR7      V n        W n        R# )rH   r.   r6   r8   r)   r'   r<   N)r   _connection_proxy_originr
   rC   _remote_origin)rE   rI   rJ   r'   r.   r6   r8   r+   s   &&&&&&&&r   r>   Z#AsyncForwardHTTPConnection.__init__   s=     /-+))
 *-m/R+r   c               rG   r   requestr   r   r   r   r   r   r   r   rX      s     J J' Jh Jr   c                	s  "   \        V P                  VP                  4      p\        V P                  P
                  V P                  P                  V P                  P                  \        VP                  4      R 7      p\        VP                  VVVP                  VP                  R7      pV P                  P                  V4      G Rj  xL
 #  L5i)r@   hostporttarget)methodurlheadersZcontent
extensionsN)r#   rC   re   r   r[   r@   r`   ra   bytesrd   r   rc   streamrf   rZ   handle_async_request)rE   r^   re   rd   Zproxy_requestr"   r   ri   Z/AsyncForwardHTTPConnection.handle_async_request   s      3 3W__E%%,,##((##((%	
  >>NN))
 %%::=IIIIs   CCCCc               rG   r   rH   r   r   r1   r   r   r   r   r   rX           - - -D -r   c                	    WP                   8H  # r   r\   rP   rQ   r   can_handle_requestZ-AsyncForwardHTTPConnection.can_handle_request       ,,,,r   c                   V ^8  d   QhRR/# r   r   r:   r   r   r   r   r   rX           ( (d (r   c                	V   "   V P                   P                  4       G R j  xL
  R #  L5ir   rZ   acloserE      &r   ru   Z!AsyncForwardHTTPConnection.aclose        %%'''   )')c               rp   r   r   strr   r   r   r   r   rX           ' 'c 'r   c                	6    V P                   P                  4       # r   rZ   inforv   rw   r   r   ZAsyncForwardHTTPConnection.info       $$&&r   c               rp   r   r   r1   r   r   r   r   r   rX           / /d /r   c                	r}   r   rZ   is_availablerv   rw   r   r   Z'AsyncForwardHTTPConnection.is_available       ,,..r   c               rp   r   r   r   r   r   r   rX           . .T .r   c                	r}   r   rZ   has_expiredrv   rw   r   r   Z&AsyncForwardHTTPConnection.has_expired       ++--r   c               rp   r   r   r   r   r   r   rX           * * *r   c                	r}   r   rZ   is_idlerv   rw   r   r   Z"AsyncForwardHTTPConnection.is_idle       ''))r   c               rp   r   r   r   r   r   r   rX           , ,4 ,r   c                	r}   r   rZ   	is_closedrv   rw   r   r   Z$AsyncForwardHTTPConnection.is_closed       ))++r   c               rp   rz   r   r   r   r   r   rX           > ># >r   c                	X    R V P                   P                   RV P                  4        R2# Z<z [z]>rF   rS   r   rv   rw   r   __repr__Z#AsyncForwardHTTPConnection.__repr__   (    4>>**+2diik]"==r   )rZ   rC   r[   r\   )NNNNNrS   rT   rU   rV   r>   ri   rn   ru   r   r   r   r   r   r   rW   r   r   r   rK   rK      s:    ,*J"-('/.*,> >r   rK   c                  s    ] tR t^tRR R lltR R ltR R ltR R	 ltR
 R ltR R lt	R R lt
R R ltR R ltR R ltRtR# )rM   Nc               sD    V ^8  d   QhRRRRRRRRRRR	R
RRRRRRRRRR/# )r   rI   r   rJ   r)   r*   r+   r'   r   r.   r/   r0   r1   r2   r6   r7   r8   r9   r   r:   r   r   r   r   r   &AsyncTunnelHTTPConnection.__annotate__   sy            +	 
 1  C  '      4  >  
 r   c                	s    \        VVV	V
VR 7      V n        Wn        W n        W0n        W@n        \        VRR7      V n        W`n        Wpn	        Wn
        \        4       V n        RV n        R# )rY   r'   r<   FN)r   rZ   r[   r\   rA   rB   r
   rC   rL   rN   rO   r   _connect_lock
_connected)rE   rI   rJ   r)   r+   r'   r.   r0   r2   r6   r8   s   &&&&&&&&&&&r   r>   Z"AsyncTunnelHTTPConnection.__init__   sk     6I-+))6
 *+'"3-m/R!1&[r   c               rG   r]   r   r   r   r   r   r   	  s"     ND ND' NDh NDr   c           
     	s  "   VP                   P                  R / 4      pVP                  RR4      pV P                  ;_uu_4       GRj  xL
  V P                  '       Eg   RV P                  P
                  V P                  P                  3,          p\        V P                  P                  V P                  P
                  V P                  P                  VR7      p\        RV3R.V P                  4      p\        RVVVP                   R7      pV P                  P                  V4      G Rj  xL
 pVP                  ^8  g   VP                  R8  dr   VP                   P                  R	R
4      p	V	P!                  RRR7      p
RVP                  V
3,          pV P                  P#                  4       G Rj  xL
  \%        V4      hVP                   R,          pV P&                  f   \)        4       MV P&                  pV P*                  '       d   RR.MR.pVP-                  V4       RVRV P                  P
                  P!                  R4      R V/p\/        R\0        W4      ;_uu_4       GRj  xL
 pVP2                  ! R/ VB G Rj  xL
 pVVn        RRR4      GRj  xL
  VP7                  R4      pVRJ;'       d    VP9                  4       R8H  pV'       g%   V P*                  '       d>   V P:                  '       g,   ^RIHp V! V P                  VV P@                  R7      V n        M'\C        V P                  VV P@                  R7      V n        RV n        RRR4      GRj  xL
  V P                  P                  V4      G Rj  xL
 #  ELF ELb EL EL' EL L  + GRj  xL 
 '       g   i     EL; i LU  + GRj  xL 
 '       g   i     Ll; i LP5i)timeoutZconnectNs   %b:%dr_   s   Hosts   CONNECT)rc   rd   re   rf   i+  Zreason_phraser   ZasciiZignore)Zerrorsz%d %sZnetwork_streamzhttp/1.1Zh2r)   Zserver_hostname	start_tls
ssl_object)AsyncHTTP2Connection)rH   rh   r.   T)s   Accepts   */*r   )"rf   Zgetr   r   r\   r`   ra   r   r[   r@   r#   rC   r   rZ   ri   ZstatusZdecoderu   r   rA   r   rO   Zset_alpn_protocolsr   loggerr   Zreturn_valueZget_extra_infoZselected_alpn_protocolrN   r2   r   rL   r   )rE   r^   Ztimeoutsr   rb   Zconnect_urlZconnect_headersZconnect_requestZconnect_responseZreason_bytesZ
reason_strZmsgrh   r)   Zalpn_protocolsZkwargsZtracer   Zhttp2_negotiatedr   s   &&                  r   ri   Z.AsyncTunnelHTTPConnection.handle_async_request	  s[    %%)))R8,,y$/%%%%???!T%8%8%=%=t?R?R?W?W$XX!--44++00++00!	 #0v&(;<d>Q>Q# #*%#+&11	# *.)9)9)N)N#* $  $**S04D4K4Kc4Q#3#>#>#B#B?TW#XL!-!4!4WX!4!NJ!%5%<%<j$IIC**11333$S/))445EF
 ((0 ()** 
 8<{{{*d!3..~> ";%t':':'?'?'F'Fw'Ow
 !fgFFF%#)#3#3#=f#==F)/E& GF
 $22<@
d* D D"99;tC ! $DKKK;';#22%)-)?)?(D$ (=#22%)-)?)?(D$ #'S &%T %%::7CCCU &&$ 4& G= GFFF] &%%%T Ds  AO	N
OC#N?0N1BN?8N9AN?A N?1N2N?5N 	NN 	N?"N#N?N?N?1N?AN?O'N=("O
OON?N?N?N 	N? N:&N)'
N:2N:4	N?=O?O	O
O	O		Oc               rG   rj   r   r   r   r   r   r   Y  rk   r   c                	rl   r   rm   rP   rQ   r   rn   Z,AsyncTunnelHTTPConnection.can_handle_requestY  ro   r   c               rp   rq   r   r   r   r   r   r   \  rr   r   c                	rs   r   rt   rv   rw   r   ru   Z AsyncTunnelHTTPConnection.aclose\  rx   ry   c               rp   rz   r   r   r   r   r   r   _  r|   r   c                	r}   r   r~   rv   rw   r   r   ZAsyncTunnelHTTPConnection.info_  r   r   c               rp   r   r   r   r   r   r   r   b  r   r   c                	r}   r   r   rv   rw   r   r   Z&AsyncTunnelHTTPConnection.is_availableb  r   r   c               rp   r   r   r   r   r   r   r   e  r   r   c                	r}   r   r   rv   rw   r   r   Z%AsyncTunnelHTTPConnection.has_expirede  r   r   c               rp   r   r   r   r   r   r   r   h  r   r   c                	r}   r   r   rv   rw   r   r   Z!AsyncTunnelHTTPConnection.is_idleh  r   r   c               rp   r   r   r   r   r   r   r   k  r   r   c                	r}   r   r   rv   rw   r   r   Z#AsyncTunnelHTTPConnection.is_closedk  r   r   c               rp   rz   r   r   r   r   r   r   n  r   r   c                	r   r   r   rv   rw   r   r   Z"AsyncTunnelHTTPConnection.__repr__n  r   r   )r   r   rZ   rN   rO   rL   rC   r[   rB   r\   rA   )NNNNTFNNr   r   r   r   rM   rM      s<     >ND`-('/.*,> >r   rM   )NN)0Z
__future__r   rD   ZloggingZsslZtypingZ_backends.baser   r   Z_exceptionsr   Z_modelsr   r   r   r   r	   r
   r   Z_sslr   Z_synchronizationr   Z_tracer   Z
connectionr   Zconnection_poolr   Zhttp11r   Z
interfacesr   ZUnionrg   r{   Z	ByteOrStrZSequenceZTupleZHeadersAsSequenceZMappingZHeadersAsMappingZ	getLoggerr   r#   r$   rK   rM   r   r   r   <module>r      s    "   
  ? $   ' (  + 0 ) 0LL$	OOFLLI1E$FG >>)Y"67  
		+	,.&p
( p
f=>!9 =>@F> 8 F>r   