Ë
    îO´j’& ã                  ó®  — 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Zd dlm	Z	m
Z
 d dlmZmZ d dlmZ ddlmZ ddl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  dd
l!m"Z" ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z*m+Z+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD ddlEmFZFmGZG ddlHmIZImJZJ ej–                  rd dlLZLddlMmNZNmOZO g d¢ZP ej¢                  dd¬«      ZR ej¢                  dd¬«      ZSd-d„ZT G d„ d«      ZU eU«       ZV ej®                  d«      ZXde› �ZYd jµ                   e"j¶                  «       D � cg c]
  } | d!k7  sŒ	| ‘Œ c} «      Z\ G d"„ d#ejº                  «      Z^ G d$„ d%eC«      Z_ G d&„ d'e8«      Z`ejÂ                  d(ejÄ                  f   Zc G d)„ d*«      Zd G d+„ ded«      Ze G d,„ ded«      Zfyc c} w ).é    )ÚannotationsN)ÚAsyncGeneratorÚ	Generator)ÚasynccontextmanagerÚcontextmanager)ÚTracebackTypeé   )Ú__version__)ÚAuthÚ	BasicAuthÚFunctionAuth)Ú'DEFAULT_KEEPALIVE_PING_INTERVAL_SECONDSÚ&DEFAULT_KEEPALIVE_PING_TIMEOUT_SECONDSÚDEFAULT_LIMITSÚDEFAULT_MAX_EVENT_SIZE_BYTESÚDEFAULT_MAX_MESSAGE_SIZE_BYTESÚDEFAULT_MAX_REDIRECTSÚDEFAULT_QUEUE_SIZEÚDEFAULT_TIMEOUT_CONFIGÚLimitsÚProxyÚTimeout)ÚSUPPORTED_DECODERS)Ú
InvalidURLÚRemoteProtocolErrorÚTooManyRedirectsÚrequest_context)ÚCookiesÚHeadersÚRequestÚResponse)ÚEventSource)Úcodes)ÚAsyncHTTPTransportÚHTTPTransport)ÚAsyncBaseTransportÚBaseTransport)ÚAsyncByteStreamÚ	AuthTypesÚ	CertTypesÚCookieTypesÚHeaderTypesÚ
ProxyTypesÚQueryParamTypesÚRequestContentÚRequestDataÚRequestExtensionsÚRequestFilesÚSyncByteStreamÚTimeoutTypes)ÚURLÚQueryParams)Ú
URLPatternÚget_environment_proxies)ÚAsyncWebSocketSessionÚWebSocketSession)ÚUSE_CLIENT_DEFAULTÚAsyncClientÚClientÚTr=   )ÚboundÚUr<   c                óì   — | j                   }|j                   }|j                  |j                  k(  xrB |j                  dk(  xr1 |j                  dk(  xr  |j                  dk(  xr |j                  dk(  S )zA
    Return 'True' if 'location' is a HTTPS upgrade of 'url'
    ÚhttpéP   Úhttpsi»  )ÚoriginÚhostÚschemeÚport)ÚurlÚlocationrE   Úlocation_origins       úe/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/httpx2/_client.pyÚ_is_https_redirectrM   G   s{   € ð �Z‰Z€FØ—o‘o€Oð 	�‰�×+Ñ+Ñ+ò 	(Ø�M‰M˜VÑ#ò	(à�K‰K˜2Ñò	(ð ×"Ñ" gÑ-ò	(ð × Ñ  CÑ'ðó    c                  ó   — e Zd ZdZy)ÚUseClientDefaulta<  
    For some parameters such as `auth=...` and `timeout=...` we need to be able
    to indicate the default "unset" state, in a way that is distinctly different
    to using `None`.

    The default "unset" state indicates that whatever default is set on the
    client should be used. This is different to setting `None`, which
    explicitly disables the parameter, possibly overriding a client default.

    For example we use `timeout=USE_CLIENT_DEFAULT` in the `request()` signature.
    Omitting the `timeout` parameter will send a request using whatever default
    timeout has been configured on the client. Including `timeout=None` will
    ensure no timeout is used.

    Note that user code shouldn't need to use the `USE_CLIENT_DEFAULT` constant,
    but it is used internally when a parameter is not included.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© rN   rL   rP   rP   W   s   „ òrN   rP   Úhttpx2zpython-httpx2/z, Úidentityc                  ó   — e Zd ZdZdZdZy)ÚClientStater	   é   é   N)rQ   rR   rS   ÚUNOPENEDÚOPENEDÚCLOSEDrU   rN   rL   rY   rY   t   s   „ ð €Hð €Fð �FrN   rY   c                  ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)	ÚBoundSyncStreamzÒ
    A byte stream that tracks elapsed time for a response. Once closed, the
    elapsed time is available via the `elapsed` attribute, and the response
    can read it back from `response.stream.elapsed`.
    c                ó.   — || _         || _        d | _        y ©N©Ú_streamÚ_startÚelapsed©ÚselfÚstreamÚstarts      rL   Ú__init__zBoundSyncStream.__init__‰   ó   € ØˆŒØˆŒØ26ˆ�rN   c              #  ó8   K  — | j                   E d {  –—†  y 7 Œ­wrb   )rd   ©rh   s    rL   Ú__iter__zBoundSyncStream.__iter__Ž   s   è ø€ Ø—<‘<×Òús   ‚’“c                ó¬   — t        j                  t        j                  «       | j                  z
  ¬«      | _        | j                  j                  «        y ©N)Úseconds)ÚdatetimeÚ	timedeltaÚtimeÚperf_counterre   rf   rd   Úclosern   s    rL   rw   zBoundSyncStream.close‘   s6   € Ü×)Ñ)´$×2CÑ2CÓ2EÈÏÉÑ2SÔTˆŒØ�‰×ÑÕrN   N)ri   r3   rj   ÚfloatÚreturnÚNone)ry   ztyping.Iterator[bytes]©ry   rz   )rQ   rR   rS   rT   rk   ro   rw   rU   rN   rL   r`   r`   ‚   s   „ ñó7ó
 ôrN   r`   c                  ó(   — e Zd ZdZdd„Zdd„Zdd„Zy)	ÚBoundAsyncStreamzÙ
    An async byte stream that tracks elapsed time for a response. Once closed,
    the elapsed time is available via the `elapsed` attribute, and the response
    can read it back from `response.stream.elapsed`.
    c                ó.   — || _         || _        d | _        y rb   rc   rg   s      rL   rk   zBoundAsyncStream.__init__�   rl   rN   c               ó  K  — | j                   j                  «       }	 |2 3 d {  –—† }|­–— Œ7 Œ
6 	 t        |t        «      r|j	                  «       ƒ d {  –—†7   y y # t        |t        «      r|j	                  «       ƒ d {  –—†7   w w xY w­wrb   )rd   Ú	__aiter__Ú
isinstancer   Úaclose)rh   ri   Úchunks      rL   r€   zBoundAsyncStream.__aiter__¢   sw   è ø€ Ø—‘×'Ñ'Ó)ˆð	&Ø%÷ ð �eØ”ðø™vô ˜&¤.Ô1Ø—m‘m“o×%Ò%ð 2øŒz˜&¤.Ô1Ø—m‘m“o×%Ò%ð 2üsM   ‚BžA  1¤/¥1¨A ¯1±A ³#BÁAÁBÁ$B
ÂBÂB
Â
Bc              ƒ  óÈ   K  — t        j                  t        j                  «       | j                  z
  ¬«      | _        | j                  j                  «       ƒ d {  –—†  y 7 Œ­wrq   )rs   rt   ru   rv   re   rf   rd   r‚   rn   s    rL   r‚   zBoundAsyncStream.aclose«   s@   è ø€ Ü×)Ñ)´$×2CÑ2CÓ2EÈÏÉÑ2SÔTˆŒØ�l‰l×!Ñ!Ó#×#Ò#ús   ‚AA"ÁA ÁA"N)ri   r(   rj   rx   ry   rz   )ry   ztyping.AsyncIterator[bytes]r{   )rQ   rR   rS   rT   rk   r€   r‚   rU   rN   rL   r}   r}   –   s   „ ñó7ó
&ô$rN   r}   .c                  óØ  — e Zd Zddddededddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d(d„Zed)d„«       Zed)d	„«       Zd*d
„Z	d+d„Z
ed,d„«       Zej                  d-d„«       Zed.d„«       Zej                  d/d„«       Zed0d„«       Zej                  d1d„«       Zed2d„«       Zej                  d3d„«       Zed4d„«       Zej                  d5d„«       Zed6d„«       Zej                  d7d„«       Zed8d„«       Zej                  d9d„«       Zdddddddeddœ		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d:d„Zd;d„Zd<d=d„Zd<d>d„Zd<d?d„Zd@d „Zef	 	 	 	 	 dAd!„ZdBd"„ZdCd#„ZdDd$„ZdEd%„ZdFd&„ZdGd'„Z y)HÚ
BaseClientNFÚ Túutf-8©ÚauthÚparamsÚheadersÚcookiesÚtimeoutÚfollow_redirectsÚmax_redirectsÚevent_hooksÚbase_urlÚ	trust_envÚdefault_encodingc               óÔ  — |€i n|}| j                  t        |	«      «      | _        | j                  |«      | _        t        |«      | _        t        |«      | _        t        |«      | _
        t        |«      | _        || _        || _        t        |j!                  dg «      «      t        |j!                  dg «      «      dœ| _        |
| _        || _        t(        j*                  | _        y ©NÚrequestÚresponse)r—   r˜   )Ú_enforce_trailing_slashr5   Ú	_base_urlÚ_build_authÚ_authr6   Ú_paramsr   rŒ   r   Ú_cookiesr   Ú_timeoutr�   r�   ÚlistÚgetÚ_event_hooksÚ
_trust_envÚ_default_encodingrY   r\   Ú_state)rh   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r”   s               rL   rk   zBaseClient.__init__´   sÆ   € ð (Ð/‘b°[ˆà×5Ñ5´c¸(³mÓDˆŒà×%Ñ% dÓ+ˆŒ
Ü" 6Ó*ˆŒÜ˜wÓ'ˆŒÜ Ó(ˆŒÜ Ó(ˆŒØ 0ˆÔØ*ˆÔä˜KŸO™O¨I°rÓ:Ó;Ü˜[Ÿ_™_¨Z¸Ó<Ó=ñ
ˆÔð $ˆŒØ!1ˆÔÜ!×*Ñ*ˆ�rN   c                ó<   — | j                   t        j                  k(  S )z2
        Check if the client being closed
        )r¥   rY   r^   rn   s    rL   Ú	is_closedzBaseClient.is_closedÖ   s   € ð
 �{‰{œk×0Ñ0Ñ0Ð0rN   c                ó   — | j                   S rb   )r£   rn   s    rL   r“   zBaseClient.trust_envÝ   s   € à�‰ÐrN   c                óz   — |j                   j                  d«      r|S |j                  |j                   dz   ¬«      S )Nó   /©Úraw_path)r¬   ÚendswithÚ	copy_with©rh   rI   s     rL   r™   z"BaseClient._enforce_trailing_slashá   s3   € Ø�<‰<× Ñ  Ô&ØˆJØ�}‰} c§l¡l°TÑ&9ˆ}Ó:Ð:rN   c                óÞ   — |€>|r:t        «       j                  «       D ��ci c]  \  }}||€d nt        |¬«      “Œ c}}S i S t        |t        t
        f«      rt        |¬«      n|}d|iS c c}}w )N)rI   zall://)r8   Úitemsr   r�   Ústrr5   )rh   ÚproxyÚallow_env_proxiesÚkeyrI   s        rL   Ú_get_proxy_mapzBaseClient._get_proxy_mapæ   si   € Øˆ=Ù ÜUlÓUn×UtÑUtÓUv×wÉÈÈc˜ S [™T´eÀ´nÑDÓwÐwØˆIä(2°5¼3Ä¸*Ô(E”E˜eÕ$È5ˆEØ˜eÐ$Ð$ùó	 xs    A)c                ó   — | j                   S rb   )rŸ   rn   s    rL   rŽ   zBaseClient.timeoutï   s   € à�}‰}ÐrN   c                ó$   — t        |«      | _        y rb   )r   rŸ   )rh   rŽ   s     rL   rŽ   zBaseClient.timeoutó   ó   € ä Ó(ˆ�rN   c                ó   — | j                   S rb   )r¢   rn   s    rL   r‘   zBaseClient.event_hooks÷   s   € à× Ñ Ð rN   c                ó|   — t        |j                  dg «      «      t        |j                  dg «      «      dœ| _        y r–   )r    r¡   r¢   )rh   r‘   s     rL   r‘   zBaseClient.event_hooksû   s4   € ô ˜KŸO™O¨I°rÓ:Ó;Ü˜[Ÿ_™_¨Z¸Ó<Ó=ñ
ˆÕrN   c                ó   — | j                   S )z§
        Authentication class used when none is passed at the request-level.

        See also [Authentication][0].

        [0]: quickstart.md#authentication
        )rœ   rn   s    rL   rŠ   zBaseClient.auth  s   € ð �z‰zÐrN   c                ó0   — | j                  |«      | _        y rb   )r›   rœ   ©rh   rŠ   s     rL   rŠ   zBaseClient.auth  s   € à×%Ñ% dÓ+ˆ�
rN   c                ó   — | j                   S )zK
        Base URL to use when sending requests with relative URLs.
        )rš   rn   s    rL   r’   zBaseClient.base_url  s   € ð
 �~‰~ÐrN   c                óB   — | j                  t        |«      «      | _        y rb   )r™   r5   rš   r¯   s     rL   r’   zBaseClient.base_url  s   € à×5Ñ5´c¸#³hÓ?ˆ�rN   c                ó   — | j                   S )z@
        HTTP headers to include when sending requests.
        )Ú_headersrn   s    rL   rŒ   zBaseClient.headers  ó   € ð
 �}‰}ÐrN   c                ó    — t        dt        j                  d«      dt        j                  d«      dœ«      }|j	                  |«       || _        y )Ns   */*Úasciis
   keep-alive)s   Accepts   Accept-Encodings
   Connections
   User-Agent)r   ÚACCEPT_ENCODINGÚencodeÚ
USER_AGENTÚupdaterÂ   )rh   rŒ   Úclient_headerss      rL   rŒ   zBaseClient.headers#  sJ   € ä à!Ü$3×$:Ñ$:¸7Ó$CØ,Ü)×0Ñ0°Ó9ñ	ó
ˆð 	×Ñ˜gÔ&Ø&ˆ�rN   c                ó   — | j                   S )zA
        Cookie values to include when sending requests.
        )rž   rn   s    rL   r�   zBaseClient.cookies0  rÃ   rN   c                ó$   — t        |«      | _        y rb   )r   rž   )rh   r�   s     rL   r�   zBaseClient.cookies7  r¹   rN   c                ó   — | j                   S )zO
        Query parameters to include in the URL when sending requests.
        )r�   rn   s    rL   r‹   zBaseClient.params;  s   € ð
 �|‰|ÐrN   c                ó$   — t        |«      | _        y rb   )r6   r�   )rh   r‹   s     rL   r‹   zBaseClient.paramsB  s   € ä" 6Ó*ˆ�rN   )	ÚcontentÚdataÚfilesÚjsonr‹   rŒ   r�   rŽ   Ú
extensionsc       	        óP  — | j                  |«      }| j                  |«      }| j                  |	«      }	| j                  |«      }|€i n|}d|vrDt	        |
t
        «      r| j                  n
t        |
«      }
t        di |¤d|
j                  «       i¤Ž}t        |||||||||	|¬«
      S )aS  
        Build and return a request instance.

        * The `params`, `headers` and `cookies` arguments
        are merged with any values set on the client.
        * The `url` argument is merged with any `base_url` set on the client.

        See also: [Request instances][0]

        [0]: advanced/clients.md#request-instances
        rŽ   )rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rÓ   rU   )Ú
_merge_urlÚ_merge_headersÚ_merge_cookiesÚ_merge_queryparamsr�   rP   rŽ   r   ÚdictÚas_dictr    )rh   ÚmethodrI   rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŽ   rÓ   s               rL   Úbuild_requestzBaseClient.build_requestF  s¶   € ð4 �o‰o˜cÓ"ˆØ×%Ñ% gÓ.ˆØ×%Ñ% gÓ.ˆØ×(Ñ(¨Ó0ˆØ%Ð-‘R°:ˆ
Ø˜JÑ&Ü&0°Ô:JÔ&K�d—l’lÔQXÐY`ÓQaˆGÜÑF 
ÑF°G·O±OÓ4EÒFˆJÜØØØØØØØØØØ!ô
ð 	
rN   c                óÐ   — t        |«      }|j                  rN| j                  j                  |j                  j	                  d«      z   }| j                  j                  |¬«      S |S )z‹
        Merge a URL argument together with any 'base_url' on the client,
        to create the URL used for the outgoing request.
        rª   r«   )r5   Úis_relative_urlr’   r¬   Úlstripr®   )rh   rI   Ú	merge_urlÚmerge_raw_paths       rL   rÕ   zBaseClient._merge_urlu  s\   € ô
 ˜“Hˆ	Ø×$Ò$ð "Ÿ]™]×3Ñ3°i×6HÑ6H×6OÑ6OÐPTÓ6UÑUˆNØ—=‘=×*Ñ*°NÐ*ÓCÐCØÐrN   c                ór   — |s| j                   r(t        | j                   «      }|j                  |«       |S |S )z�
        Merge a cookies argument together with any cookies on the client,
        to create the cookies used for the outgoing request.
        )r�   r   rÉ   )rh   r�   Úmerged_cookiess      rL   r×   zBaseClient._merge_cookies‹  s4   € ñ
 �d—l’lÜ$ T§\¡\Ó2ˆNØ×!Ñ! 'Ô*Ø!Ð!ØˆrN   c                óR   — t        | j                  «      }|j                  |«       |S )z�
        Merge a headers argument together with any headers on the client,
        to create the headers used for the outgoing request.
        )r   rŒ   rÉ   )rh   rŒ   Úmerged_headerss      rL   rÖ   zBaseClient._merge_headers–  s&   € ô
 ! §¡Ó.ˆØ×Ñ˜gÔ&ØÐrN   c                ón   — |s| j                   r&t        | j                   «      }|j                  |«      S |S )zœ
        Merge a queryparams argument together with any queryparams on the client,
        to create the queryparams used for the outgoing request.
        )r‹   r6   Úmerge)rh   r‹   Úmerged_queryparamss      rL   rØ   zBaseClient._merge_queryparamsŸ  s2   € ñ
 �T—[’[Ü!,¨T¯[©[Ó!9ÐØ%×+Ñ+¨FÓ3Ð3ØˆrN   c                ó¼   — |€y t        |t        «      rt        |d   |d   ¬«      S t        |t        «      r|S t	        |«      rt        |¬«      S t        d|›�«      ‚)Nr   r	   ©ÚusernameÚpassword)ÚfunczInvalid "auth" argument: )r�   Útupler   r   Úcallabler   Ú	TypeErrorr¾   s     rL   r›   zBaseClient._build_auth©  s]   € Øˆ<ØÜ˜œeÔ$Ü d¨1¡g¸¸Q¹Ô@Ð@Ü˜œdÔ#ØˆKÜ�dŒ^Ü TÔ*Ð*äÐ7¸°xÐ@ÓAÐArN   c                óò   — t        |t        «      r| j                  n| j                  |«      }|�|S |j                  j
                  |j                  j                  }}|s|rt        ||¬«      S t        «       S )Nrê   )	r�   rP   rœ   r›   rI   rë   rì   r   r   )rh   r—   rŠ   rë   rì   s        rL   Ú_build_request_authzBaseClient._build_request_authµ  sf   € ô
 (¨Ô.>Ô?ˆt�zŠzÀT×EUÑEUÐVZÓE[ˆàÐØˆKà$Ÿ[™[×1Ñ1°7·;±;×3GÑ3G�(ˆÙ‘xÜ h¸ÔBÐBä‹vˆrN   c                óô   — | j                  ||«      }| j                  ||«      }| j                  |||«      }| j                  ||«      }t	        | j
                  «      }t        ||||||j                  ¬«      S )zƒ
        Given a request and a redirect response, return a new request that
        should be used to effect the redirect.
        )rÛ   rI   rŒ   r�   ri   rÓ   )Ú_redirect_methodÚ_redirect_urlÚ_redirect_headersÚ_redirect_streamr   r�   r    rÓ   )rh   r—   r˜   rÛ   rI   rŒ   ri   r�   s           rL   Ú_build_redirect_requestz"BaseClient._build_redirect_requestÅ  s�   € ð
 ×&Ñ& w°Ó9ˆØ× Ñ  ¨(Ó3ˆØ×(Ñ(¨°#°vÓ>ˆØ×&Ñ& w°Ó7ˆÜ˜$Ÿ,™,Ó'ˆÜØØØØØØ×)Ñ)ô
ð 	
rN   c                óô   — |j                   }|j                  t        j                  k(  r|dk7  rd}|j                  t        j                  k(  r|dvrd}|j                  t        j
                  k(  r|dk(  rd}|S )z‹
        When being redirected we may want to change the method of the request
        based on certain specs or browser behavior.
        ÚHEADÚGET)rú   ÚQUERYÚPOST)rÛ   Ústatus_coder#   Ú	SEE_OTHERÚFOUNDÚMOVED_PERMANENTLY)rh   r—   r˜   rÛ   s       rL   rô   zBaseClient._redirect_methodØ  su   € ð
 —‘ˆð ×Ñ¤5§?¡?Ò2°vÀÒ7GØˆFð ×Ñ¤5§;¡;Ò.°6ÐARÑ3RØˆFð ×Ñ¤5×#:Ñ#:Ò:¸vÈÒ?OØˆFàˆrN   c                óÜ  — |j                   d   }	 t        |«      }|j                  r2|j
                  s&|j                  |j                  j
                  ¬«      }|j                  r|j                  j                  |«      }|j                  j                  r2|j                  s&|j                  |j                  j                  ¬«      }|S # t        $ r}t        d|› d�|¬«      d‚d}~ww xY w)z<
        Return the URL for the redirect to follow.
        ÚLocationz Invalid URL in location header: ú.©r—   N)rF   )Úfragment)rŒ   r5   r   r   rG   rF   r®   rI   rÞ   Újoinr  )rh   r—   r˜   rJ   rI   Úexcs         rL   rõ   zBaseClient._redirect_urlñ  sÎ   € ð ×#Ñ# JÑ/ˆð	lÜ�h“-ˆCð �:Š:˜cŸhšhØ—-‘- W§[¡[×%5Ñ%5�-Ó6ˆCð ×ÒØ—+‘+×"Ñ" 3Ó'ˆCð �;‰;×Ò¨¯ªØ—-‘-¨¯©×)=Ñ)=�-Ó>ˆCàˆ
øô# ò 	lÜ%Ð(HÈÈÈQÐ&OÐY`ÔaÐgkÐkûð	lús   ‘C Ã	C+ÃC&Ã&C+c                ó–  — t        |j                  «      }|j                  |j                  j                  k7  rFt	        |j                  |«      s|j                  dd«       |j                  j                  d«      |d<   ||j                  k7  r)|dk(  r$|j                  dd«       |j                  dd«       |j                  dd«       |S )	zR
        Return the headers that should be used for the redirect request.
        ÚAuthorizationNrÅ   ÚHostrû   zContent-LengthzTransfer-EncodingÚCookie)	r   rŒ   rE   rI   rM   ÚpopÚnetlocÚdecoderÛ   )rh   r—   rI   rÛ   rŒ   s        rL   rö   zBaseClient._redirect_headers  s§   € ô ˜'Ÿ/™/Ó*ˆà�:‰:˜Ÿ™×+Ñ+Ò+Ü% g§k¡k°3Ô7ð —‘˜O¨TÔ2ð "Ÿj™j×/Ñ/°Ó8ˆG�F‰Oà�W—^‘^Ò#¨°%ªð �K‰KÐ(¨$Ô/Ø�K‰KÐ+¨TÔ2ð 	�‰�H˜dÔ#àˆrN   c                óD   — ||j                   k7  r|dk(  ry|j                  S )zO
        Return the body that should be used for the redirect request.
        rû   N)rÛ   ri   )rh   r—   rÛ   s      rL   r÷   zBaseClient._redirect_stream'  s#   € ð �W—^‘^Ò#¨°%ªØà�~‰~ÐrN   c                óð   — d|j                   vrht        | j                  t        «      r| j                  nt	        | j                  «      }t        di |j                   ¤d|j                  «       i¤Ž|_         y y )NrŽ   rU   )rÓ   r�   rŽ   rP   r   rÙ   rÚ   )rh   r—   rŽ   s      rL   Ú_set_timeoutzBaseClient._set_timeout0  s]   € Ø˜G×.Ñ.Ñ.Ü&0°·±Ô?OÔ&P�d—l’lÔV]Ð^b×^jÑ^jÓVkˆGÜ!%Ñ!V¨×(:Ñ(:Ñ!VÀGÇOÁOÓDUÒ!VˆGÕð /rN   )rŠ   úAuthTypes | Noner‹   úQueryParamTypes | NonerŒ   úHeaderTypes | Noner�   úCookieTypes | NonerŽ   r4   r�   Úboolr�   Úintr‘   ú+None | typing.Mapping[str, list[EventHook]]r’   ú	URL | strr“   r  r”   ú*str | typing.Callable[[bytes], str | None]ry   rz   )ry   r  )rI   r5   ry   r5   )r³   úProxyTypes | Noner´   r  ry   zdict[str, Proxy | None])ry   r   )rŽ   r4   ry   rz   )ry   údict[str, list[EventHook]])r‘   r  ry   rz   )ry   úAuth | None)rŠ   r)   ry   rz   )ry   r5   )rI   r  ry   rz   )ry   r   )rŒ   r,   ry   rz   )ry   r   )r�   r+   ry   rz   )ry   r6   )r‹   r.   ry   rz   )rÛ   r²   rI   r  rÏ   úRequestContent | NonerÐ   úRequestData | NonerÑ   úRequestFiles | NonerÒ   útyping.Any | Noner‹   r  rŒ   r  r�   r  rŽ   úTimeoutTypes | UseClientDefaultrÓ   úRequestExtensions | Nonery   r    )rI   r  ry   r5   rb   )r�   r  ry   r  )rŒ   r  ry   r  )r‹   r  ry   r  )rŠ   r  ry   r  )r—   r    rŠ   ú#AuthTypes | UseClientDefault | Nonery   r   )r—   r    r˜   r!   ry   r    )r—   r    r˜   r!   ry   r²   )r—   r    r˜   r!   ry   r5   )r—   r    rI   r5   rÛ   r²   ry   r   )r—   r    rÛ   r²   ry   z'SyncByteStream | AsyncByteStream | None)r—   r    ry   rz   )!rQ   rR   rS   r   r   rk   Úpropertyr§   r“   r™   r¶   rŽ   Úsetterr‘   rŠ   r’   rŒ   r�   r‹   r;   rÜ   rÕ   r×   rÖ   rØ   r›   rò   rø   rô   rõ   rö   r÷   r  rU   rN   rL   r†   r†   ³   s  „ ð "&Ø)-Ø&*Ø&*Ø 6Ø!&Ø2ØEIØ ØØGNñ +ð ð +ð 'ð	 +ð
 $ð +ð $ð +ð ð +ð ð +ð ð +ð Cð +ð ð +ð ð +ð Eð +ð 
ó +ðD ò1ó ð1ð òó ðó;ó
%ð òó ðð ‡^�^ò)ó ð)ð ò!ó ð!ð ×Ñò
ó ð
ð òó ðð 
‡[�[ò,ó ð,ð òó ðð ‡_�_ò@ó ð@ð òó ðð ‡^�^ò
'ó ð
'ð òó ðð ‡^�^ò)ó ð)ð òó ðð ‡]�]ò+ó ð+ð *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø3EØ/3ñ-
àð-
ð ð-
ð
 'ð-
ð !ð-
ð #ð-
ð  ð-
ð 'ð-
ð $ð-
ð $ð-
ð 1ð-
ð -ð-
ð 
ó-
ó^ô,	ôôó
Bð 5Gðàðð 2ðð 
ó	ó 
ó&ó2ó6ó6ôWrN   r†   c                  ód  ‡ — e Zd ZdZdddddddddddedeedddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%ˆ fd„Zdddddedf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&d	„Zdddddef	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d'd
„Z	d(d„Z
dddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d)d„Zedddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d*d„«       Zeddddddddeeededœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d+d„«       Zeeeeeddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d,d„«       Zdeedœ	 	 	 	 	 	 	 	 	 d-d„Z	 	 	 	 	 	 	 	 	 	 d.d„Z	 	 	 	 	 	 	 	 d/d„Zd0d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d1d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d„Zdddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d„Zdddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d„Zdddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d „Z dddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d!„Z!d4d"„Z"d5d#„Z#	 	 	 d6	 	 	 	 	 	 	 d7d$„Z$ˆ xZ%S )8r=   a  
    An HTTP client, with connection pooling, HTTP/2, redirects, cookie persistence, etc.

    It can be shared between threads.

    Usage:

    ```python
    >>> client = httpx2.Client()
    >>> response = client.get('https://example.org')
    ```

    **Parameters:**

    * **auth** - *(optional)* An authentication class to use when sending
    requests.
    * **params** - *(optional)* Query parameters to include in request URLs, as
    a string, dictionary, or sequence of two-tuples.
    * **headers** - *(optional)* Dictionary of HTTP headers to include when
    sending requests.
    * **cookies** - *(optional)* Dictionary of Cookie items to include when
    sending requests.
    * **verify** - *(optional)* Either `True` to use an SSL context with the
    default CA bundle, `False` to disable verification, or an instance of
    `ssl.SSLContext` to use a custom context.
    * **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
    enabled. Defaults to `False`.
    * **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
    * **mounts** - *(optional)* A dictionary mapping URL patterns to transports,
    used to route requests through specific transports based on the URL.
    * **timeout** - *(optional)* The timeout configuration to use when sending
    requests.
    * **limits** - *(optional)* The limits configuration to use.
    * **max_redirects** - *(optional)* The maximum number of redirect responses
    that should be followed.
    * **base_url** - *(optional)* A URL to use as the base when building
    request URLs.
    * **transport** - *(optional)* A transport class to use for sending requests
    over the network.
    * **trust_env** - *(optional)* Enables or disables usage of environment
    variables for configuration.
    * **default_encoding** - *(optional)* The default encoding to use for decoding
    response text, if no charset information is included in a response Content-Type
    header. Set to a callable for automatic character set detection. Default: "utf-8".
    NTFr‡   rˆ   )rŠ   r‹   rŒ   r�   ÚverifyÚcertr“   Úhttp1Úhttp2r³   ÚmountsrŽ   r�   Úlimitsr�   r‘   r’   Ú	transportr”   c               óŠ  •— t         ‰| �  |||||||||||¬«       |	r	 dd l}|xr |d u }| j	                  |
|«      }| j                  |||||	||¬«      | _        |j                  «       D ��
ci c]+  \  }}
t        |«      |
€d n| j                  |
|||||	|¬«      “Œ- c}
}| _
        |�F| j                  j                  |j                  «       D ��ci c]  \  }}t        |«      |“Œ c}}«       t        t        | j                  j                  «       «      «      | _
        y # t        $ r t        d«      d ‚w xY wc c}
}w c c}}w ©Nr‰   r   zuUsing http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.)r)  r*  r“   r+  r,  r.  r/  ©r)  r*  r“   r+  r,  r.  ©Úsuperrk   Úh2ÚImportErrorr¶   Ú_init_transportÚ
_transportr±   r7   Ú_init_proxy_transportÚ_mountsrÉ   rÙ   Úsorted)rh   rŠ   r‹   rŒ   r�   r)  r*  r“   r+  r,  r³   r-  rŽ   r�   r.  r�   r‘   r’   r/  r”   r5  r´   Ú	proxy_maprµ   Ú	__class__s                           €rL   rk   zClient.__init__e  s‹  ø€ ô. 	‰ÑØØØØØØ-Ø'Ø#ØØØ-ð 	ô 	
ñ ðÛð &Ò;¨)°tÐ*;ÐØ×'Ñ'¨Ð/@ÓAˆ	à×.Ñ.ØØØØØØØð /ó 
ˆŒð* (Ÿo™oÓ/÷@
ñ ��Uô �s‹OØˆ}ñ "à×+Ñ+ØØØØ#ØØØð ,ó ñ
ó@
ˆŒð ÐØ�L‰L×ÑÐRX×R^ÑR^ÓR`× aÁÀÀY¤¨C£°)Ñ!;Ó aÔbäœF 4§<¡<×#5Ñ#5Ó#7Ó8Ó9ˆ�øôG ò Ü!ðSóð ððüó$@
ùó !bó   ŸD  Á-0D9ÃD?
Ä D6c                ó,   — |�|S t        ||||||¬«      S ©Nr2  ©r%   ©rh   r)  r*  r“   r+  r,  r.  r/  s           rL   r7  zClient._init_transport²  s/   € ð Ð ØÐäØØØØØØô
ð 	
rN   c           	     ó&   — t        |||||||¬«      S ©N)r)  r*  r“   r+  r,  r.  r³   rA  ©rh   r³   r)  r*  r“   r+  r,  r.  s           rL   r9  zClient._init_proxy_transportÈ  s&   € ô ØØØØØØØô
ð 	
rN   c                ó¨   — | j                   j                  «       D ]*  \  }}|j                  |«      sŒ|€| j                  c S |c S  | j                  S ©z›
        Returns the transport instance that should be used for a given URL.
        This will either be the standard connection pool, or a proxy.
        ©r:  r±   Úmatchesr8  ©rh   rI   Úpatternr/  s       rL   Ú_transport_for_urlzClient._transport_for_urlÜ  óS   € ð
 #'§,¡,×"4Ñ"4Ó"6ò 	KÑˆG�YØ�‰˜sÕ#Ø*3Ð*;�t—‘ÒJÀÒJð	Kð �‰ÐrN   ©rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   c               ó¢   — |	�d}t        j                  |t        d¬«       | j                  |||||||||	||¬«      }| j	                  ||
|¬«      S )aª  
        Build and send a request.

        Equivalent to:

        ```python
        request = client.build_request(...)
        response = client.send(request, ...)
        ```

        See `Client.build_request()`, `Client.send()` and
        [Merging of configuration][0] for how the various parameters
        are merged with client-level configuration.

        [0]: advanced/clients.md#merging-of-configuration
        ú®Setting per-request cookies=<...> is being deprecated, because the expected behaviour on cookie persistence is ambiguous. Set cookies directly on the client instance instead.rZ   ©Ú
stacklevel©rÛ   rI   rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŽ   rÓ   ©rŠ   r�   ©ÚwarningsÚwarnÚDeprecationWarningrÜ   Úsend©rh   rÛ   rI   rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   Úmessager—   s                   rL   r—   zClient.requestç  sw   € ðB ÐðCð ô
 �M‰M˜'Ô#5À!ÕDà×$Ñ$ØØØØØØØØØØØ!ð %ó 
ˆð �y‰y˜ tÐ>NˆyÓOÐOrN   c             #  óÂ   K  — | j                  |||||||||	||¬«      }| j                  ||
|d¬«      }	 |–— |j                  «        y# |j                  «        w xY w­w©a  
        Alternative to `httpx2.request()` that streams the response body
        instead of loading it into memory at once.

        **Parameters**: See `httpx2.request`.

        See also: [Streaming Responses][0]

        [0]: quickstart.md#streaming-responses
        rS  T)r—   rŠ   r�   ri   N)rÜ   rY  rw   ©rh   rÛ   rI   rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   r—   r˜   s                   rL   ri   zClient.stream  s}   è ø€ ð8 ×$Ñ$ØØØØØØØØØØØ!ð %ó 
ˆð —9‘9ØØØ-Øð	 ó 
ˆð	ØŠNà�N‰NÕøˆH�N‰NÕüs   ‚2AµA
 ¹AÁ
AÁArû   ©rÛ   rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   Úmax_event_sizec             #  ó®   K  — | j                  |||||||dddœt        |«      z  |	|
|||¬«      5 }t        ||¬«      –— ddd«       y# 1 sw Y   yxY w­w)úÎ
        Connect to a server-sent events endpoint and yield an `EventSource`.

        Iterating the `EventSource` yields `ServerSentEvent` instances.

        **Parameters**: See `httpx2.request`.
        útext/event-streamúno-store©ÚAcceptzCache-ControlrN  ©r`  N©ri   r   r"   ©rh   rI   rÛ   rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   r`  r˜   s                   rL   Ússez
Client.sseS  s{   è ø€ ð4 �[‰[ØØØØØØØØ2ÀZÑPÔSZÐ[bÓScÑcØØØ-ØØ!ð ó 
ð 	Gð Ü˜h°~ÔFÒF÷	G÷ 	Gñ 	Güs   ‚.A°A	Á 	AÁ	AÁA©Úmax_message_size_bytesÚ
queue_sizeÚkeepalive_ping_interval_secondsÚkeepalive_ping_timeout_secondsÚsubprotocolsr‹   rŒ   r�   rŠ   r�   rŽ   rÓ   c             #  óº   K  — 	 ddl m}  |t        |«      | ||||||||	|
|||¬«      5 }|–— ddd«       y# t        $ r t        d«      ‚w xY w# 1 sw Y   yxY w­w)az  
        Open a WebSocket session, using this client's configuration.

        The session is closed automatically when exiting the context manager.

        ```python
        with httpx2.Client() as client:
            with client.websocket("ws://localhost:8000/ws") as ws:
                ws.send_text("Hello!")
                message = ws.receive_text()
        ```
        r	   )Ú
connect_wsú[WebSocket support requires the `wsproto` package. Install it with `pip install httpx2[ws]`.rk  N)Úwebsockets._apirr  r6  r²   )rh   rI   rl  rm  rn  ro  rp  r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   rr  Úsessions                   rL   Ú	websocketzClient.websocket~  sŠ   è ø€ ð<	Ý3ñ Ü�‹HØØ#9Ø!Ø,KØ+IØ%ØØØØØ-ØØ!ô
ð 	ð ØŠM÷!	ð 	øô ò 	ÜØmóð ð	ú÷
	ð 	üs/   ‚A„7 ŠA©A®	A·AÁAÁAÁA©ri   rŠ   r�   c               ó˜  — | j                   t        j                  k(  rt        d«      ‚t        j                  | _         t        |t        «      r| j                  n|}| j                  |«       | j                  ||«      }| j                  |||g ¬«      }	 |s|j                  «        |S # t        $ r}|j                  «        |‚d}~ww xY w)a�  
        Send a request.

        The request is sent as-is, unmodified.

        Typically you'll want to build one with `Client.build_request()`
        so that any client-level configuration is merged into the request,
        but passing an explicit `httpx2.Request()` is supported as well.

        See also: [Request instances][0]

        [0]: advanced/clients.md#request-instances
        ú5Cannot send a request, as the client has been closed.©rŠ   r�   ÚhistoryN)r¥   rY   r^   ÚRuntimeErrorr]   r�   rP   r�   r  rò   Ú_send_handling_authÚreadÚBaseExceptionrw   ©rh   r—   ri   rŠ   r�   r˜   r  s          rL   rY  zClient.sendµ  s¿   € ð* �;‰;œ+×,Ñ,Ò,ÜÐVÓWÐWä!×(Ñ(ˆŒÜ4>Ð?OÔQaÔ4b˜4×0Ò0ÐhxÐà×Ñ˜'Ô"à×'Ñ'¨°Ó6ˆà×+Ñ+ØØØ-Øð	 ,ó 
ˆð	ÙØ—‘”àˆOøäò 	Ø�N‰NÔØˆIûð	ús   ÂB) Â)	C	Â2CÃC	c                ó¦  — |j                  |«      }	 t        |«      }	 | j                  |||¬«      }	 	 |j                  |«      }t        |«      |_        |j                  «        |}|j                  |«       Œ[# t        $ r |cY |j                  «        S w xY w# t        $ r}|j                  «        |‚d }~ww xY w# |j                  «        w xY w©N)r�   r{  )Úsync_auth_flowÚnextÚ_send_handling_redirectsrY  ÚStopIterationrw   r    r{  r~  Úappendr  ©	rh   r—   rŠ   r�   r{  Ú	auth_flowr˜   Únext_requestr  s	            rL   r}  zClient._send_handling_authä  s×   € ð ×'Ñ'¨Ó0ˆ	ð	Ü˜9“oˆGàØ×8Ñ8ØØ%5Ø#ð 9ó �ð
ð(Ø'0§~¡~°hÓ'?˜ô (,¨G£}�HÔ$Ø—M‘M”OØ*�GØ—N‘N 8Ô,ð øô )ò (Ø'™ð �O‰OÕð(ûô %ò Ø—N‘NÔ$Ø�Iûðûð �O‰OÕúsL   “ B> µA: Á3B Á9B> Á:BÂB ÂBÂB Â	B;Â$B6Â6B;Â;B> Â>Cc                óÐ  — 	 t        |«      | j                  kD  rt        d|¬«      ‚| j                  d   D ]
  } ||«       Œ | j	                  |«      }	 | j                  d   D ]
  } ||«       Œ t        |«      |_        |j                  s|S | j                  ||«      }||gz   }|r|j                  «        n	||_
        |S 	 ŒÃ# t        $ r}|j                  «        |‚d }~ww xY w©Nz#Exceeded maximum allowed redirects.r  r—   r˜   )Úlenr�   r   r¢   Ú_send_single_requestr    r{  Úhas_redirect_locationrø   r~  rŠ  r  rw   ©rh   r—   r�   r{  Úhookr˜   r  s          rL   r…  zClient._send_handling_redirects  sý   € ð Ü�7‹|˜d×0Ñ0Ò0Ü&Ð'LÐV]Ô^Ð^à×)Ñ)¨)Ñ4ò �Ù�W•ðð ×0Ñ0°Ó9ˆHðØ ×-Ñ-¨jÑ9ò #�DÙ˜•Nð#ä#'¨£=�Ô à×5Ò5Ø#�Oà×6Ñ6°wÀÓI�Ø! X JÑ.�á#Ø—M‘M•Oà,3�HÔ)Ø#�Oð $ð) øô2 !ò Ø—‘Ô Ø�	ûðús   Á9C Â3C Ã	C%ÃC Ã C%c                ó€  — | j                  |j                  «      }t        j                  «       }t	        |j
                  t        «      st        d«      ‚t        |¬«      5  |j                  |«      }ddd«       t	        j
                  t        «      sJ ‚||_
        t        |j
                  |¬«      |_        | j                  j                  |«       | j                  |_        t         j#                  d|j$                  |j                  |j&                  |j(                  |j*                  «       |S # 1 sw Y   ŒÂxY w)úL
        Sends a single request, without handling any redirections.
        z?Attempted to send an async request with a sync Client instance.r  N©rj   úHTTP Request: %s %s "%s %d %s")rL  rI   ru   rv   r�   ri   r3   r|  r   Úhandle_requestr—   r`   r�   Úextract_cookiesr¤   r”   ÚloggerÚinforÛ   Úhttp_versionrþ   Úreason_phrase©rh   r—   r/  rj   r˜   s        rL   rŽ  zClient._send_single_request)  sü   € ð ×+Ñ+¨G¯K©KÓ8ˆ	Ü×!Ñ!Ó#ˆä˜'Ÿ.™.¬.Ô9ÜÐ`ÓaÐaä WÔ-ñ 	9Ø ×/Ñ/°Ó8ˆH÷	9ô ˜(Ÿ/™/¬>Ô:Ð:Ð:à"ˆÔÜ)¨(¯/©/ÀÔGˆŒØ�‰×$Ñ$ XÔ.Ø$(×$:Ñ$:ˆÔ!ä�‰Ø,Ø�N‰NØ�K‰KØ×!Ñ!Ø× Ñ Ø×"Ñ"ô	
ð ˆ÷'	9ð 	9ús   Á!D4Ä4D=©r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   c               ó6   — | j                  d||||||||¬«	      S )úV
        Send a `GET` request.

        **Parameters**: See `httpx2.request`.
        rû   r�  r  ©	rh   rI   r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   s	            rL   r¡   z
Client.getH  s5   € ð" �|‰|ØØØØØØØ-ØØ!ð ó 

ð 
	
rN   c               ó6   — | j                  d||||||||¬«	      S )ú[
        Send an `OPTIONS` request.

        **Parameters**: See `httpx2.request`.
        ÚOPTIONSr�  r  r   s	            rL   ÚoptionszClient.optionse  s5   € ð" �|‰|ØØØØØØØ-ØØ!ð ó 

ð 
	
rN   c               ó6   — | j                  d||||||||¬«	      S )úW
        Send a `HEAD` request.

        **Parameters**: See `httpx2.request`.
        rú   r�  r  r   s	            rL   ÚheadzClient.head‚  s5   € ð" �|‰|ØØØØØØØ-ØØ!ð ó 

ð 
	
rN   c               ó>   — | j                  d|||||||||	|
||¬«      S )úW
        Send a `POST` request.

        **Parameters**: See `httpx2.request`.
        rý   rN  r  ©rh   rI   rÏ   rÐ   rÑ   rÒ   r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   s                rL   ÚpostzClient.postŸ  sA   € ð* �|‰|ØØØØØØØØØØØ-ØØ!ð ó 
ð 	
rN   c               ó>   — | j                  d|||||||||	|
||¬«      S )úV
        Send a `PUT` request.

        **Parameters**: See `httpx2.request`.
        ÚPUTrN  r  rª  s                rL   Úputz
Client.putÄ  sA   € ð* �|‰|ØØØØØØØØØØØ-ØØ!ð ó 
ð 	
rN   c               ó>   — | j                  d|||||||||	|
||¬«      S )úX
        Send a `PATCH` request.

        **Parameters**: See `httpx2.request`.
        ÚPATCHrN  r  rª  s                rL   ÚpatchzClient.patché  óA   € ð* �|‰|ØØØØØØØØØØØ-ØØ!ð ó 
ð 	
rN   c               ó6   — | j                  d||||||||¬«	      S )úY
        Send a `DELETE` request.

        **Parameters**: See `httpx2.request`.
        ÚDELETEr�  r  r   s	            rL   ÚdeletezClient.delete  s5   € ð" �|‰|ØØØØØØØ-ØØ!ð ó 

ð 
	
rN   c               ó>   — | j                  d|||||||||	|
||¬«      S )úX
        Send a `QUERY` request.

        **Parameters**: See `httpx2.request`.
        rü   rN  r  rª  s                rL   ÚqueryzClient.query+  r´  rN   c                ó  — | j                   t        j                  k7  rbt        j                  | _         | j                  j	                  «        | j
                  j                  «       D ]  }|€Œ|j	                  «        Œ yy©z.
        Close transport and proxies.
        N)r¥   rY   r^   r8  rw   r:  Úvalues)rh   r/  s     rL   rw   zClient.closeP  sd   € ð �;‰;œ+×,Ñ,Ò,Ü%×,Ñ,ˆDŒKà�O‰O×!Ñ!Ô#Ø!Ÿ\™\×0Ñ0Ó2ò &�	ØÑ(Ø—O‘OÕ%ñ&ð	 -rN   c                óv  — | j                   t        j                  k7  r:t        j                  dt        j                  di| j                      }t        |«      ‚t        j                  | _         | j                  j                  «        | j                  j                  «       D ]  }|€Œ|j                  «        Œ | S ©Nz-Cannot open a client instance more than once.z9Cannot reopen a client instance, once it has been closed.)
r¥   rY   r\   r]   r^   r|  r8  Ú	__enter__r:  r¾  )rh   Úmsgr/  s      rL   rÁ  zClient.__enter__\  s    € Ø�;‰;œ+×.Ñ.Ò.ä×"Ñ"Ð$SÜ×"Ñ"Ð%`ðð �k‰kñˆCô ˜sÓ#Ð#ä!×(Ñ(ˆŒà�‰×!Ñ!Ô#ØŸ™×,Ñ,Ó.ò 	&ˆIØÑ$Ø×#Ñ#Õ%ð	&ð ˆrN   c                óÒ   — t         j                  | _        | j                  j	                  |||«       | j
                  j                  «       D ]  }|€Œ|j	                  |||«       Œ y rb   )rY   r^   r¥   r8  Ú__exit__r:  r¾  )rh   Úexc_typeÚ	exc_valueÚ	tracebackr/  s        rL   rÄ  zClient.__exit__l  s]   € ô "×(Ñ(ˆŒà�‰× Ñ  ¨9°iÔ@ØŸ™×,Ñ,Ó.ò 	CˆIØÑ$Ø×"Ñ" 8¨Y¸	ÕBñ	CrN   )(rŠ   r  r‹   r  rŒ   r  r�   r  r)  ússl.SSLContext | str | boolr*  úCertTypes | Noner“   r  r+  r  r,  r  r³   r  r-  z0None | typing.Mapping[str, BaseTransport | None]rŽ   r4   r�   r  r.  r   r�   r  r‘   r  r’   r  r/  úBaseTransport | Noner”   r  ry   rz   )r)  rÈ  r*  rÉ  r“   r  r+  r  r,  r  r.  r   r/  rÊ  ry   r'   )r³   r   r)  rÈ  r*  rÉ  r“   r  r+  r  r,  r  r.  r   ry   r'   )rI   r5   ry   r'   ©rÛ   r²   rI   r  rÏ   r  rÐ   r   rÑ   r!  rÒ   r"  r‹   r  rŒ   r  r�   r  rŠ   r%  r�   úbool | UseClientDefaultrŽ   r#  rÓ   r$  ry   r!   )rÛ   r²   rI   r  rÏ   r  rÐ   r   rÑ   r!  rÒ   r"  r‹   r  rŒ   r  r�   r  rŠ   r%  r�   rÌ  rŽ   r#  rÓ   r$  ry   zGenerator[Response])rI   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`  ú
int | Nonery   zGenerator[EventSource])rI   r  rl  r  rm  r  rn  úfloat | Nonero  rÎ  rp  úlist[str] | Noner‹   r  rŒ   r  r�   r  rŠ   r%  r�   rÌ  rŽ   r#  rÓ   r$  ry   zGenerator[WebSocketSession]©
r—   r    ri   r  rŠ   r%  r�   rÌ  ry   r!   ©
r—   r    rŠ   r   r�   r  r{  úlist[Response]ry   r!   ©r—   r    r�   r  r{  rÒ  ry   r!   ©r—   r    ry   r!   ©rI   r  r‹   r  rŒ   r  r�   r  rŠ   r%  r�   rÌ  rŽ   r#  rÓ   r$  ry   r!   ©rI   r  r‹   r  rŒ   r  r�   r  rŠ   úAuthTypes | UseClientDefaultr�   rÌ  rŽ   r#  rÓ   r$  ry   r!   ©rI   r  rÏ   r  rÐ   r   rÑ   r!  rÒ   r"  r‹   r  rŒ   r  r�   r  rŠ   r×  r�   rÌ  rŽ   r#  rÓ   r$  ry   r!   r{   )rh   r>   ry   r>   ©NNN©rÅ  ztype[BaseException] | NonerÆ  zBaseException | NonerÇ  zTracebackType | Nonery   rz   )&rQ   rR   rS   rT   r   r   r   rk   r7  r9  rL  r;   r—   r   ri   r   rj  r   r   r   r   rv  rY  r}  r…  rŽ  r¡   r¤  r§  r«  r¯  r³  r¸  r»  rw   rÁ  rÄ  Ú__classcell__©r=  s   @rL   r=   r=   6  s“
  ø„ ñ,ðb "&Ø)-Ø&*Ø&*Ø.2Ø!%ØØØØ#'ØEIØ 6Ø!&Ø'Ø2ØEIØ Ø*.ØGNñ+K:ð ðK:ð 'ð	K:ð
 $ðK:ð $ðK:ð ,ðK:ð ðK:ð ðK:ð ðK:ð ðK:ð !ðK:ð CðK:ð ðK:ð ðK:ð  ð!K:ð" ð#K:ð$ Cð%K:ð& ð'K:ð( (ð)K:ð* Eð+K:ð, 
õ-K:ð^ /3Ø!%ØØØØ'Ø*.ð
à+ð
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð (ð
ð 
ó
ð2 /3Ø!%ØØØØ'ð
àð
ð ,ð
ð ð	
ð
 ð
ð ð
ð ð
ð ð
ð 
ó
ó(	ð  *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ6Pàð6Pð ð6Pð
 'ð6Pð !ð6Pð #ð6Pð  ð6Pð 'ð6Pð $ð6Pð $ð6Pð 2ð6Pð 2ð6Pð 1ð6Pð -ð6Pð  
ó!6Pðp ð *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ1àð1ð ð1ð
 'ð1ð !ð1ð #ð1ð  ð1ð 'ð1ð $ð1ð $ð1ð 2ð1ð 2ð1ð 1ð1ð -ð1ð  
ò!1ó ð1ðf ð
 Ø)-Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3Ø%Añ!(Gàð(Gð ð	(Gð
 'ð(Gð !ð(Gð #ð(Gð  ð(Gð 'ð(Gð $ð(Gð $ð(Gð 2ð(Gð 2ð(Gð 1ð(Gð -ð(Gð  #ð!(Gð" 
 ò#(Gó ð(GðT ð
 'EØ,Ø8_Ø7]Ø)-Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ4àð4ð !$ð	4ð
 ð4ð *6ð4ð )5ð4ð 'ð4ð 'ð4ð $ð4ð $ð4ð 2ð4ð 2ð4ð 1ð4ð -ð4ð  
%ò!4ó ð4ðt Ø4FØ4Fñ-àð-ð ð	-ð
 2ð-ð 2ð-ð 
ó-ð^ àð ð ð ð ð	 ð
  ð ð 
ó ðD!àð!ð ð!ð  ð	!ð
 
ó!óFðF *.Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð 2ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð +ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð +ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
ðR *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð +ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
óJ
&óð$ 04Ø*.Ø*.ð	Cà,ðCð (ðCð (ð	Cð
 
÷CrN   c                  ód  ‡ — e Zd ZdZddddddddddedeeddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d%ˆ fd„Zdddddedf	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d&d	„Zdddddef	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d'd
„Z	d(d„Z
dddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d)d„Zedddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d*d„«       Zeddddddddeeededœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d+d„«       Zeeeeeddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d,d„«       Zdeedœ	 	 	 	 	 	 	 	 	 d-d„Z	 	 	 	 	 	 	 	 	 	 d.d„Z	 	 	 	 	 	 	 	 d/d„Zd0d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d1d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d„Zdddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d„Zdddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d„Zdddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d„Zdddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d „Z dddddddeeeddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d!„Z!d4d"„Z"d5d#„Z#	 	 	 d6	 	 	 	 	 	 	 d7d$„Z$ˆ xZ%S )8r<   a<  
    An asynchronous HTTP client, with connection pooling, HTTP/2, redirects,
    cookie persistence, etc.

    It can be shared between tasks.

    Usage:

    ```python
    >>> async with httpx2.AsyncClient() as client:
    >>>     response = await client.get('https://example.org')
    ```

    **Parameters:**

    * **auth** - *(optional)* An authentication class to use when sending
    requests.
    * **params** - *(optional)* Query parameters to include in request URLs, as
    a string, dictionary, or sequence of two-tuples.
    * **headers** - *(optional)* Dictionary of HTTP headers to include when
    sending requests.
    * **cookies** - *(optional)* Dictionary of Cookie items to include when
    sending requests.
    * **verify** - *(optional)* Either `True` to use an SSL context with the
    default CA bundle, `False` to disable verification, or an instance of
    `ssl.SSLContext` to use a custom context.
    * **http2** - *(optional)* A boolean indicating if HTTP/2 support should be
    enabled. Defaults to `False`.
    * **proxy** - *(optional)* A proxy URL where all the traffic should be routed.
    * **mounts** - *(optional)* A dictionary mapping URL patterns to transports,
    used to route requests through specific transports based on the URL.
    * **timeout** - *(optional)* The timeout configuration to use when sending
    requests.
    * **limits** - *(optional)* The limits configuration to use.
    * **max_redirects** - *(optional)* The maximum number of redirect responses
    that should be followed.
    * **base_url** - *(optional)* A URL to use as the base when building
    request URLs.
    * **transport** - *(optional)* A transport class to use for sending requests
    over the network.
    * **trust_env** - *(optional)* Enables or disables usage of environment
    variables for configuration.
    * **default_encoding** - *(optional)* The default encoding to use for decoding
    response text, if no charset information is included in a response Content-Type
    header. Set to a callable for automatic character set detection. Default: "utf-8".
    NTFr‡   rˆ   )rŠ   r‹   rŒ   r�   r)  r*  r+  r,  r³   r-  rŽ   r�   r.  r�   r‘   r’   r/  r“   r”   c               óŠ  •— t         ‰| �  |||||||||||¬«       |r	 dd l}|xr |d u }| j	                  |	|«      }| j                  |||||||¬«      | _        |j                  «       D ��	ci c]+  \  }}	t        |«      |	€d n| j                  |	||||||¬«      “Œ- c}	}| _
        |
�F| j                  j                  |
j                  «       D ��ci c]  \  }}t        |«      |“Œ c}}«       t        t        | j                  j                  «       «      «      | _
        y # t        $ r t        d«      d ‚w xY wc c}	}w c c}}w r1  r3  )rh   rŠ   r‹   rŒ   r�   r)  r*  r+  r,  r³   r-  rŽ   r�   r.  r�   r‘   r’   r/  r“   r”   r5  r´   r<  rµ   r=  s                           €rL   rk   zAsyncClient.__init__ª  s‹  ø€ ô. 	‰ÑØØØØØØ-Ø'Ø#ØØØ-ð 	ô 	
ñ ðÛð &Ò;¨)°tÐ*;ÐØ×'Ñ'¨Ð/@ÓAˆ	à×.Ñ.ØØØØØØØð /ó 
ˆŒð, (Ÿo™oÓ/÷E
ñ ��Uô �s‹OØˆ}ñ "à×+Ñ+ØØØØ#ØØØð ,ó ñ
óE
ˆŒð ÐØ�L‰L×ÑÐRX×R^ÑR^ÓR`× aÁÀÀY¤¨C£°)Ñ!;Ó aÔbÜœF 4§<¡<×#5Ñ#5Ó#7Ó8Ó9ˆ�øôG ò Ü!ðSóð ððüó&E
ùó !br>  c                ó,   — |�|S t        ||||||¬«      S r@  ©r$   rB  s           rL   r7  zAsyncClient._init_transport÷  s/   € ð Ð ØÐä!ØØØØØØô
ð 	
rN   c           	     ó&   — t        |||||||¬«      S rD  rà  rE  s           rL   r9  z!AsyncClient._init_proxy_transport  s&   € ô "ØØØØØØØô
ð 	
rN   c                ó¨   — | j                   j                  «       D ]*  \  }}|j                  |«      sŒ|€| j                  c S |c S  | j                  S rG  rH  rJ  s       rL   rL  zAsyncClient._transport_for_url!  rM  rN   rN  c             ƒ  ó¾   K  — |	�d}t        j                  |t        d¬«       | j                  |||||||||	||¬«      }| j	                  ||
|¬«      ƒ d{  –—† S 7 Œ­w)aº  
        Build and send a request.

        Equivalent to:

        ```python
        request = client.build_request(...)
        response = await client.send(request, ...)
        ```

        See `AsyncClient.build_request()`, `AsyncClient.send()`
        and [Merging of configuration][0] for how the various parameters
        are merged with client-level configuration.

        [0]: advanced/clients.md#merging-of-configuration
        NrP  rZ   rQ  rS  rT  rU  rZ  s                   rL   r—   zAsyncClient.request,  s�   è ø€ ðD ÐðCð ô
 �M‰M˜'Ô#5À!ÕDà×$Ñ$ØØØØØØØØØØØ!ð %ó 
ˆð —Y‘Y˜w¨TÐDT�YÓU×UÐUÐUús   ‚AAÁAÁAc              óþ   K  — | j                  |||||||||	||¬«      }| j                  ||
|d¬«      ƒ d{  –—† }	 |­–— |j                  «       ƒ d{  –—†  y7 Œ#7 Œ# |j                  «       ƒ d{  –—†7   w xY w­wr]  )rÜ   rY  r‚   r^  s                   rL   ri   zAsyncClient.streame  s™   è ø€ ð8 ×$Ñ$ØØØØØØØØØØØ!ð %ó 
ˆð Ÿ™ØØØ-Øð	 #ó 
÷ 
ˆð	$Ø‹Nà—/‘/Ó#×#Ñ#ð
øð $ù�(—/‘/Ó#×#Ò#üsD   ‚5A=·A¸A=½A ÁA=ÁAÁA=ÁA=ÁA:Á3A6Á4A:Á:A=rû   r_  c              óê   K  — | j                  |||||||dddœt        |«      z  |	|
|||¬«      4 ƒd{  –—† }t        ||¬«      ­–— ddd«      ƒd{  –—†  y7 Œ%7 Œ# 1 ƒd{  –—†7  sw Y   yxY w­w)rb  rc  rd  re  rN  Nrg  rh  ri  s                   rL   rj  zAsyncClient.sse™  s›   è ø€ ð4 —;‘;ØØØØØØØØ2ÀZÑPÔSZÐ[bÓScÑcØØØ-ØØ!ð ó 
÷ 	Gð 	Gð Ü˜h°~ÔFÓF÷	G÷ 	Gñ 	Gøð 	Gø÷ 	G÷ 	Gñ 	GüsD   ‚2A3´AµA3¸AÁ	A3ÁAÁA3ÁA3ÁA0Á$A'Á%A0Á,A3rk  c              óö   K  — 	 ddl m}  |t        |«      | ||||||||	|
|||¬«      4 ƒd{  –—† }|­–— ddd«      ƒd{  –—†  y# t        $ r t        d«      ‚w xY w7 Œ27 Œ# 1 ƒd{  –—†7  sw Y   yxY w­w)a—  
        Open a WebSocket session, using this client's configuration.

        The session is closed automatically when exiting the context manager.

        ```python
        async with httpx2.AsyncClient() as client:
            async with client.websocket("ws://localhost:8000/ws") as ws:
                await ws.send_text("Hello!")
                message = await ws.receive_text()
        ```
        r	   )Úaconnect_wsrs  rk  N)rt  rç  r6  r²   )rh   rI   rl  rm  rn  ro  rp  r‹   rŒ   r�   rŠ   r�   rŽ   rÓ   rç  ru  s                   rL   rv  zAsyncClient.websocketÄ  s¥   è ø€ ð<	Ý4ñ Ü�‹HØØ#9Ø!Ø,KØ+IØ%ØØØØØ-ØØ!ô
÷ 	ð 	ð Ø‹M÷!	÷ 	ð 	øô ò 	ÜØmóð ð	úð
	øð 	ø÷ 	÷ 	ñ 	üsY   ‚A9„A Š#A9­A ®A9±A$·A9ÁA"ÁA9ÁAÁA9Á"A9Á$A6Á*A-Á+A6Á2A9rw  c             ƒ  óÚ  K  — | j                   t        j                  k(  rt        d«      ‚t        j                  | _         t        |t        «      r| j                  n|}| j                  |«       | j                  ||«      }| j                  |||g ¬«      ƒ d{  –—† }	 |s|j                  «       ƒ d{  –—†  |S 7 Œ!7 Œ# t        $ r }|j                  «       ƒ d{  –—†7   |‚d}~ww xY w­w)a’  
        Send a request.

        The request is sent as-is, unmodified.

        Typically you'll want to build one with `AsyncClient.build_request()`
        so that any client-level configuration is merged into the request,
        but passing an explicit `httpx2.Request()` is supported as well.

        See also: [Request instances][0]

        [0]: advanced/clients.md#request-instances
        ry  rz  N)r¥   rY   r^   r|  r]   r�   rP   r�   r  rò   r}  Úareadr  r‚   r€  s          rL   rY  zAsyncClient.sendû  sá   è ø€ ð* �;‰;œ+×,Ñ,Ò,ÜÐVÓWÐWä!×(Ñ(ˆŒÜ4>Ð?OÔQaÔ4b˜4×0Ò0ÐhxÐà×Ñ˜'Ô"à×'Ñ'¨°Ó6ˆà×1Ñ1ØØØ-Øð	 2ó 
÷ 
ˆð	ÙØ—n‘nÓ&×&Ð&àˆOð
øð 'ùô ò 	Ø—/‘/Ó#×#Ñ#ØˆIûð	üsT   ‚BC+ÂB;ÂC+ÂB? Â4B=Â5B? Â:C+Â=B? Â?	C(ÃC#ÃCÃC#Ã#C(Ã(C+c              ƒ  ó>  K  — |j                  |«      }	 |j                  «       ƒ d {  –—† }	 | j                  |||¬«      ƒ d {  –—† }	 	 |j                  |«      ƒ d {  –—† }t        |«      |_        |j                  «       ƒ d {  –—†  |}|j                  |«       Œs7 Œx7 Œ]7 ŒD# t        $ r |cY |j                  «       ƒ d {  –—†7   S w xY w7 ŒH# t        $ r }|j                  «       ƒ d {  –—†7   |‚d }~ww xY w# |j                  «       ƒ d {  –—†7   w xY w­wr‚  )Úasync_auth_flowÚ	__anext__r…  ÚasendÚStopAsyncIterationr‚   r    r{  ré  r‡  r  rˆ  s	            rL   r}  zAsyncClient._send_handling_auth*  s  è ø€ ð ×(Ñ(¨Ó1ˆ	ð	%Ø%×/Ñ/Ó1×1ˆGàØ!%×!>Ñ!>ØØ%5Ø#ð "?ó "÷ �ð
ð(Ø-6¯_©_¸XÓ-F×'F˜ô (,¨G£}�HÔ$Ø"Ÿ.™.Ó*×*Ð*Ø*�GØ—N‘N 8Ô,ð ð 2øðøð (GùÜ-ò (Ø'™ð ×"Ñ"Ó$×$Ò$ð(úð +ùô %ò Ø"Ÿ/™/Ó+×+Ñ+Ø�Iûðûð ×"Ñ"Ó$×$Ò$üs¼   ‚D•C? ¨B!©C? ÁB#ÁC? ÁB' Á B%Á!B' Á%#C ÂCÂ	C Â C? Â#C? Â%B' Â'CÂ2C Â3DÃC	ÃDÃCÃC Ã	C<ÃC7Ã/C2Ã0C7Ã7C<Ã<C? Ã?DÄDÄDÄDc              ƒ  ó:  K  — 	 t        |«      | j                  kD  rt        d|¬«      ‚| j                  d   D ]  } ||«      ƒ d {  –—†  Œ | j	                  |«      ƒ d {  –—† }	 | j                  d   D ]  } ||«      ƒ d {  –—†  Œ t        |«      |_        |j                  s|S | j                  ||«      }||gz   }|r|j                  «       ƒ d {  –—†  n	||_
        |S 	 Œã7 Œ 7 Œ‡7 Œf7 Œ# t        $ r }|j                  «       ƒ d {  –—†7   |‚d }~ww xY w­wrŒ  )r�  r�   r   r¢   rŽ  r    r{  r�  rø   ré  rŠ  r  r‚   r�  s          rL   r…  z$AsyncClient._send_handling_redirectsL  s3  è ø€ ð Ü�7‹|˜d×0Ñ0Ò0Ü&Ð'LÐV]Ô^Ð^à×)Ñ)¨)Ñ4ò $�Ù˜7“m×#Ñ#ð$ð "×6Ñ6°wÓ?×?ˆHðØ ×-Ñ-¨jÑ9ò )�DÙ˜x›.×(Ñ(ð)ô $(¨£=�Ô à×5Ò5Ø#�Oà×6Ñ6°wÀÓI�Ø! X JÑ.�á#Ø"Ÿ.™.Ó*×*Ñ*à,3�HÔ)Ø#�Oð +ð+ ð
 $øà?øð )øð +ùô
 !ò Ø—o‘oÓ'×'Ñ'Ø�	ûðüs„   ‚ADÁC'ÁDÁ!C)Á"DÁ'C/ ÂC+Â#C/ Â(DÂ)-C/ ÃC-ÃC/ Ã$DÃ)DÃ+C/ Ã-C/ Ã/	DÃ8DÄDÄDÄDÄDc              ƒ  óœ  K  — | j                  |j                  «      }t        j                  «       }t	        |j
                  t        «      st        d«      ‚t        |¬«      5  |j                  |«      ƒ d{  –—† }ddd«       t	        j
                  t        «      sJ ‚||_
        t        |j
                  |¬«      |_        | j                  j                  |«       | j                  |_        t         j#                  d|j$                  |j                  |j&                  |j(                  |j*                  «       |S 7 ŒÅ# 1 sw Y   ŒÄxY w­w)r“  z>Attempted to send a sync request with an AsyncClient instance.r  Nr”  r•  )rL  rI   ru   rv   r�   ri   r(   r|  r   Úhandle_async_requestr—   r}   r�   r—  r¤   r”   r˜  r™  rÛ   rš  rþ   r›  rœ  s        rL   rŽ  z AsyncClient._send_single_requestp  s  è ø€ ð ×+Ñ+¨G¯K©KÓ8ˆ	Ü×!Ñ!Ó#ˆä˜'Ÿ.™.¬/Ô:ÜÐ_Ó`Ð`ä WÔ-ñ 	EØ&×;Ñ;¸GÓD×DˆH÷	Eô ˜(Ÿ/™/¬?Ô;Ð;Ð;Ø"ˆÔÜ*¨8¯?©?À%ÔHˆŒØ�‰×$Ñ$ XÔ.Ø$(×$:Ñ$:ˆÔ!ä�‰Ø,Ø�N‰NØ�K‰KØ×!Ñ!Ø× Ñ Ø×"Ñ"ô	
ð ˆð# Eø÷	Eð 	Eüs1   ‚A!EÁ#E Á8D>Á9E Á=CEÄ>E Å E	ÅEr�  c             ƒ  óR   K  — | j                  d||||||||¬«	      ƒ d{  –—† S 7 Œ­w)rŸ  rû   r�  Nr  r   s	            rL   r¡   zAsyncClient.getŽ  sC   è ø€ ð" —\‘\ØØØØØØØ-ØØ!ð "ó 

÷ 

ð 
	
ð 

úó   ‚' %¡'c             ƒ  óR   K  — | j                  d||||||||¬«	      ƒ d{  –—† S 7 Œ­w)r¢  r£  r�  Nr  r   s	            rL   r¤  zAsyncClient.options«  sC   è ø€ ð" —\‘\ØØØØØØØ-ØØ!ð "ó 

÷ 

ð 
	
ð 

úró  c             ƒ  óR   K  — | j                  d||||||||¬«	      ƒ d{  –—† S 7 Œ­w)r¦  rú   r�  Nr  r   s	            rL   r§  zAsyncClient.headÈ  sC   è ø€ ð" —\‘\ØØØØØØØ-ØØ!ð "ó 

÷ 

ð 
	
ð 

úró  c             ƒ  óZ   K  — | j                  d|||||||||	|
||¬«      ƒ d{  –—† S 7 Œ­w)r©  rý   rN  Nr  rª  s                rL   r«  zAsyncClient.postå  sO   è ø€ ð* —\‘\ØØØØØØØØØØØ-ØØ!ð "ó 
÷ 
ð 	
ð 
úó   ‚"+¤)¥+c             ƒ  óZ   K  — | j                  d|||||||||	|
||¬«      ƒ d{  –—† S 7 Œ­w)r­  r®  rN  Nr  rª  s                rL   r¯  zAsyncClient.put
  sO   è ø€ ð* —\‘\ØØØØØØØØØØØ-ØØ!ð "ó 
÷ 
ð 	
ð 
úr÷  c             ƒ  óZ   K  — | j                  d|||||||||	|
||¬«      ƒ d{  –—† S 7 Œ­w)r±  r²  rN  Nr  rª  s                rL   r³  zAsyncClient.patch/  óO   è ø€ ð* —\‘\ØØØØØØØØØØØ-ØØ!ð "ó 
÷ 
ð 	
ð 
úr÷  c             ƒ  óR   K  — | j                  d||||||||¬«	      ƒ d{  –—† S 7 Œ­w)r¶  r·  r�  Nr  r   s	            rL   r¸  zAsyncClient.deleteT  sC   è ø€ ð" —\‘\ØØØØØØØ-ØØ!ð "ó 

÷ 

ð 
	
ð 

úró  c             ƒ  óZ   K  — | j                  d|||||||||	|
||¬«      ƒ d{  –—† S 7 Œ­w)rº  rü   rN  Nr  rª  s                rL   r»  zAsyncClient.queryq  rú  r÷  c              ƒ  ó2  K  — | j                   t        j                  k7  rrt        j                  | _         | j                  j	                  «       ƒ d{  –—†  | j
                  j                  «       D ]  }|€Œ|j	                  «       ƒ d{  –—†  Œ yy7 Œ@7 Œ
­wr½  )r¥   rY   r^   r8  r‚   r:  r¾  )rh   r³   s     rL   r‚   zAsyncClient.aclose–  s~   è ø€ ð �;‰;œ+×,Ñ,Ò,Ü%×,Ñ,ˆDŒKà—/‘/×(Ñ(Ó*×*Ð*ØŸ™×,Ñ,Ó.ò )�ØÑ$ØŸ,™,›.×(Ñ(ñ)ð	 -ð +øð )ús*   ‚ABÁBÁ#BÁ7BÂ
BÂ	BÂBc              ƒ  ó¦  K  — | j                   t        j                  k7  r:t        j                  dt        j                  di| j                      }t        |«      ‚t        j                  | _         | j                  j                  «       ƒ d {  –—†  | j                  j                  «       D ]  }|€Œ|j                  «       ƒ d {  –—†  Œ | S 7 Œ@7 Œ
­wrÀ  )
r¥   rY   r\   r]   r^   r|  r8  Ú
__aenter__r:  r¾  )rh   rÂ  r³   s      rL   rÿ  zAsyncClient.__aenter__¢  s»   è ø€ Ø�;‰;œ+×.Ñ.Ò.ä×"Ñ"Ð$SÜ×"Ñ"Ð%`ðð �k‰kñˆCô ˜sÓ#Ð#ä!×(Ñ(ˆŒà�o‰o×(Ñ(Ó*×*Ð*Ø—\‘\×(Ñ(Ó*ò 	)ˆEØÑ Ø×&Ñ&Ó(×(Ñ(ð	)ð ˆð	 	+øð )ús*   ‚B
CÂCÂ#CÂ1CÃCÃ	CÃCc              ƒ  ó  K  — t         j                  | _        | j                  j	                  |||«      ƒ d {  –—†  | j
                  j                  «       D ]   }|€Œ|j	                  |||«      ƒ d {  –—†  Œ" y 7 ŒB7 Œ	­wrb   )rY   r^   r¥   r8  Ú	__aexit__r:  r¾  )rh   rÅ  rÆ  rÇ  r³   s        rL   r  zAsyncClient.__aexit__²  sx   è ø€ ô "×(Ñ(ˆŒà�o‰o×'Ñ'¨°)¸YÓG×GÐGØ—\‘\×(Ñ(Ó*ò 	FˆEØÑ Ø—o‘o h°	¸9ÓE×EÑEñ	Fð 	Høð Fús'   ‚6A?¸A;¹#A?ÁA?Á3A=Á4A?Á=A?)(rŠ   r  r‹   r  rŒ   r  r�   r  r)  rÈ  r*  rÉ  r+  r  r,  r  r³   r  r-  z5None | typing.Mapping[str, AsyncBaseTransport | None]rŽ   r4   r�   r  r.  r   r�   r  r‘   r  r’   r  r/  úAsyncBaseTransport | Noner“   r  r”   r  ry   rz   )r)  rÈ  r*  rÉ  r“   r  r+  r  r,  r  r.  r   r/  r  ry   r&   )r³   r   r)  rÈ  r*  rÉ  r“   r  r+  r  r,  r  r.  r   ry   r&   )rI   r5   ry   r&   rË  )rÛ   r²   rI   r  rÏ   r  rÐ   r   rÑ   r!  rÒ   r"  r‹   r  rŒ   r  r�   r  rŠ   r%  r�   rÌ  rŽ   r#  rÓ   r$  ry   zAsyncGenerator[Response])rI   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Í  ry   zAsyncGenerator[EventSource])rI   r  rl  r  rm  r  rn  rÎ  ro  rÎ  rp  rÏ  r‹   r  rŒ   r  r�   r  rŠ   r%  r�   rÌ  rŽ   r#  rÓ   r$  ry   z%AsyncGenerator[AsyncWebSocketSession]rÐ  rÑ  rÓ  rÔ  rÕ  rÖ  rØ  r{   )rh   r@   ry   r@   rÙ  rÚ  )&rQ   rR   rS   rT   r   r   r   rk   r7  r9  rL  r;   r—   r   ri   r   rj  r   r   r   r   rv  rY  r}  r…  rŽ  r¡   r¤  r§  r«  r¯  r³  r¸  r»  r‚   rÿ  r  rÛ  rÜ  s   @rL   r<   r<   z  s“
  ø„ ñ-ðd "&Ø)-Ø&*Ø&*Ø.2Ø!%ØØØ#'ØJNØ 6Ø!&Ø'Ø2ØEIØ Ø/3ØØGNñ+K:ð ðK:ð 'ð	K:ð
 $ðK:ð $ðK:ð ,ðK:ð ðK:ð ðK:ð ðK:ð !ðK:ð HðK:ð ðK:ð ðK:ð ðK:ð  ð!K:ð" Cð#K:ð$ ð%K:ð& -ð'K:ð( ð)K:ð* Eð+K:ð, 
õ-K:ð^ /3Ø!%ØØØØ'Ø/3ð
à+ð
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð -ð
ð 
ó
ð2 /3Ø!%ØØØØ'ð
àð
ð ,ð
ð ð	
ð
 ð
ð ð
ð ð
ð ð
ð 
ó
ó(	ð  *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ7Vàð7Vð ð7Vð
 'ð7Vð !ð7Vð #ð7Vð  ð7Vð 'ð7Vð $ð7Vð $ð7Vð 2ð7Vð 2ð7Vð 1ð7Vð -ð7Vð  
ó!7Vðr ð *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ1$àð1$ð ð1$ð
 'ð1$ð !ð1$ð #ð1$ð  ð1$ð 'ð1$ð $ð1$ð $ð1$ð 2ð1$ð 2ð1$ð 1ð1$ð -ð1$ð  
"ò!1$ó ð1$ðf ð
 Ø)-Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3Ø%Añ!(Gàð(Gð ð	(Gð
 'ð(Gð !ð(Gð #ð(Gð  ð(Gð 'ð(Gð $ð(Gð $ð(Gð 2ð(Gð 2ð(Gð 1ð(Gð -ð(Gð  #ð!(Gð" 
%ò#(Gó ð(GðT ð
 'EØ,Ø8_Ø7]Ø)-Ø)-Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ4àð4ð !$ð	4ð
 ð4ð *6ð4ð )5ð4ð 'ð4ð 'ð4ð $ð4ð $ð4ð 2ð4ð 2ð4ð 1ð4ð -ð4ð  
/ò!4ó ð4ðt Ø4FØ4Fñ-àð-ð ð	-ð
 2ð-ð 2ð-ð 
ó-ð^ %àð %ð ð %ð ð	 %ð
  ð %ð 
ó %ðD"àð"ð ð"ð  ð	"ð
 
ó"óHðD *.Ø&*Ø&*Ø4FØ4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð 2ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð +ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð +ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
ðR *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
ðR *.Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ
àð
ð 'ð	
ð
 $ð
ð $ð
ð +ð
ð 2ð
ð 1ð
ð -ð
ð 
ó
ðB *.Ø#'Ø%)Ø"&Ø)-Ø&*Ø&*Ø-?Ø4FØ3EØ/3ñ#
àð#
ð 'ð	#
ð
 !ð#
ð #ð#
ð  ð#
ð 'ð#
ð $ð#
ð $ð#
ð +ð#
ð 2ð#
ð 1ð#
ð -ð#
ð 
ó#
óJ
)óð$ 04Ø*.Ø*.ð	Fà,ðFð (ðFð (ð	Fð
 
÷FrN   )rI   r5   rJ   r5   ry   r  )gÚ
__future__r   rs   ÚenumÚloggingru   ÚtypingrV  Úcollections.abcr   r   Ú
contextlibr   r   Útypesr   r
   rœ   r   r   r   Ú_configr   r   r   r   r   r   r   r   r   r   r   Ú	_decodersr   Ú_exceptionsr   r   r   r   Ú_modelsr   r   r    r!   Ú_sser"   Ú_status_codesr#   Ú_transportsr$   r%   Ú_transports.baser&   r'   Ú_typesr(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Ú_urlsr5   r6   Ú_utilsr7   r8   ÚTYPE_CHECKINGÚsslrt  r9   r:   Ú__all__ÚTypeVarr>   r@   rM   rP   r;   Ú	getLoggerr˜  rÈ   r  ÚkeysrÆ   ÚEnumrY   r`   r}   ÚCallableÚAnyÚ	EventHookr†   r=   r<   )rµ   s   0rL   ú<module>r     s˜  ðÝ "ã Û Û Û Û Û ß 5ß :Ý å $ß 0Ñ 0÷÷ ÷ ñ õ *÷ó ÷ 9Ó 8Ý Ý  ß :ß ?÷÷ ÷ õ ÷ $ß 7à	×ÒÛçHâ
9€ð €F‡N�N�3˜hÔ'€Ø€F‡N�N�3˜mÔ,€ó÷ ñ ñ( &Ó'Ð ð 
ˆ×	Ñ	˜8Ó	$€à˜k˜]Ð+€
Ø—)‘)Ð,CÐ,>×,CÑ,CÓ,EÖ[ SÈÐPZÓIZšSÒ[Ó\€ô�$—)‘)ô ô�nô ô($�ô $ð4 �O‰O˜C §¡˜OÑ,€	÷@Wñ @WôFACˆZô ACôHCF�*õ CFùòS( \s   Å
GÅ G