← back to Atmos Game

assets/gen/.venv/lib/python3.12/site-packages/httpx/__pycache__/_client.cpython-312.pyc

812 lines

�

c�bj���~�ddlmZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZddl
m
Z
ddlmZmZmZddlmZmZmZmZmZmZdd	lmZdd
lmZmZmZmZddl m!Z!m"Z"m#Z#m$Z$ddl%m&Z&dd
l'm(Z(m)Z)ddl*m+Z+m,Z,ddl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:ddl;m<Z<m=Z=ddl>m?Z?m@Z@ej�rddlBZBgd�ZCej�dd��ZEej�dd��ZFd,d�ZGd-d�ZHd.d�ZIGd�d�ZJeJ�ZKej�d�ZMde
��ZNdj�ej��D�cgc]
}|d k7s�	|��c}�ZQGd!�d"ej��ZSGd#�d$e9�ZTGd%�d&e.�ZUej�d'ej�fZXGd(�d)�ZYGd*�deY�ZZGd+�deY�Z[ycc}w)/�)�annotationsN)�asynccontextmanager�contextmanager)�
TracebackType�)�__version__)�Auth�	BasicAuth�FunctionAuth)�DEFAULT_LIMITS�DEFAULT_MAX_REDIRECTS�DEFAULT_TIMEOUT_CONFIG�Limits�Proxy�Timeout)�SUPPORTED_DECODERS)�
InvalidURL�RemoteProtocolError�TooManyRedirects�request_context)�Cookies�Headers�Request�Response)�codes)�AsyncBaseTransport�
BaseTransport)�AsyncHTTPTransport�
HTTPTransport)
�AsyncByteStream�	AuthTypes�	CertTypes�CookieTypes�HeaderTypes�
ProxyTypes�QueryParamTypes�RequestContent�RequestData�RequestExtensions�RequestFiles�SyncByteStream�TimeoutTypes)�URL�QueryParams)�
URLPattern�get_environment_proxies)�USE_CLIENT_DEFAULT�AsyncClient�Client�Tr3)�bound�Ur2c��|j|jk7ry|jdk(xr/t|�dk(xr|jdk(xrt|�dk(S)zA
    Return 'True' if 'location' is a HTTPS upgrade of 'url'
    F�http�P�https�)�host�scheme�_port_or_default)�url�locations  �d/Users/macstudio3/Projects/atmos-game/assets/gen/.venv/lib/python3.12/site-packages/httpx/_client.py�_is_https_redirectrB>sa���x�x�8�=�=� ��	�
�
�f��	.��S�!�R�'�	.��O�O�w�&�	.�
�X�&�#�-�	�c�n�|j�|jSddd�j|j�S)Nr9r;)r8r:)�port�getr=�r?s rAr>r>Ms/��
�x�x���x�x����%�)�)�#�*�*�5�5rCc��|j|jk(xr2|j|jk(xrt|�t|�k(S)z@
    Return 'True' if the given URLs share the same origin.
    )r=r<r>)r?�others  rA�_same_originrJSsF��
	�
�
�e�l�l�"�	=��H�H��
�
�"�	=��S�!�%5�e�%<�<�rCc��eZdZdZy)�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__�rCrArLrL^s��rCrL�httpxz
python-httpx/z, �identityc��eZdZdZdZdZy)�ClientStater��N)rMrNrO�UNOPENED�OPENED�CLOSEDrQrCrArUrU}s���H��F��FrCrUc�8�eZdZdZ								dd�Zdd�Zdd�Zy)	�BoundSyncStreamz�
    A byte stream that is bound to a given response instance, and that
    ensures the `response.elapsed` is set once the response is closed.
    c�.�||_||_||_y�N��_stream�	_response�_start��self�stream�response�starts    rA�__init__zBoundSyncStream.__init__�������!�����rCc#�6K�|jD]}|���y�wr^�r`�rd�chunks  rA�__iter__zBoundSyncStream.__iter__�s�����\�\�E��K�"�s�c���tj�|jz
}tj|��|j
_|jj�y�N)�seconds)	�time�perf_counterrb�datetime�	timedeltara�elapsedr`�close�rdrvs  rArwzBoundSyncStream.close�s@���#�#�%����3��!)�!3�!3�G�!D����������rCN)rer+rfrrg�float�return�None)rzztyping.Iterator[bytes]�rzr{)rMrNrOrPrhrnrwrQrCrAr\r\�s6���
�$��08��AF��	
���rCr\c�8�eZdZdZ								dd�Zdd�Zdd�Zy)	�BoundAsyncStreamz�
    An async byte stream that is bound to a given response instance, and that
    ensures the `response.elapsed` is set once the response is closed.
    c�.�||_||_||_yr^r_rcs    rArhzBoundAsyncStream.__init__�rirCc�HK�|j23d{���}|����7�
6y�wr^rkrls  rA�	__aiter__zBoundAsyncStream.__aiter__�s!�����<�<�	�%��K�	��<�s�
"� �� �"� �"c���K�tj�|jz
}tj|��|j
_|jj��d{���y7��wrp)	rrrsrbrtrurarvr`�acloserxs  rAr�zBoundAsyncStream.aclose�sJ�����#�#�%����3��!)�!3�!3�G�!D������l�l�!�!�#�#�#�s�A$A.�&A,�'A.N)rer rfrrgryrzr{)rzztyping.AsyncIterator[bytes]r|)rMrNrOrPrhr�r�rQrCrAr~r~�s6���
�%��19��BG��	
���$rCr~.c���eZdZddddededdddd�																							d(d�Zed)d��Zed)d	��Zd*d
�Z							d+d�Z
ed,d��Zejd-d
��Zed.d��Z
e
jd/d��Z
ed0d��Zejd1d��Zed2d��Zejd3d��Zed4d��Zejd5d��Zed6d��Zejd7d��Zed8d��Zejd9d��Zdddddddedd�																								d:d�Zd;d�Zd<d=d�Zd<d>d�Z	d<			d?d�Zd@d �Zef					dAd!�ZdBd"�ZdCd#�ZdDd$�ZdEd%�Z						dFd&�ZdGd'�Z y)H�
BaseClientNF�T�utf-8��auth�params�headers�cookies�timeout�follow_redirects�
max_redirects�event_hooks�base_url�	trust_env�default_encodingc���|�in|}|jt|	��|_|j|�|_t|�|_t|�|_t|�|_
t|�|_||_
||_t|j!dg��t|j!dg��d�|_|
|_||_t(j*|_y�N�requestrf)r�rf)�_enforce_trailing_slashr-�	_base_url�_build_auth�_authr.�_paramsrr�r�_cookiesr�_timeoutr�r��listrF�_event_hooks�
_trust_env�_default_encodingrUrX�_state)rdr�r�r�r�r�r�r�r�r�r�r�s            rArhzBaseClient.__init__�s���(�/�b�[���5�5�c�(�m�D����%�%�d�+��
�"�6�*����w�'�����(��
���(��
� 0���*����K�O�O�I�r�:�;��[�_�_�Z��<�=�
���$���!1���!�*�*��rCc�<�|jtjk(S)z2
        Check if the client being closed
        )r�rUrZ�rds rA�	is_closedzBaseClient.is_closed�s��
�{�{�k�0�0�0�0rCc��|jSr^)r�r�s rAr�zBaseClient.trust_env�s�����rCc�z�|jjd�r|S|j|jdz��S)N�/��raw_path)r��endswith�	copy_with�rdr?s  rAr�z"BaseClient._enforce_trailing_slash�s3���<�<� � ��&��J��}�}�c�l�l�T�&9�}�:�:rCc���|�>|r:t�j�D��cic]\}}||�dnt|����c}}SiSt|tt
f�rt|��n|}d|iScc}}w)NrGzall://)r0�itemsr�
isinstance�strr-)rd�proxy�allow_env_proxies�keyr?s     rA�_get_proxy_mapzBaseClient._get_proxy_map�s}���=� �%<�$=�$C�$C�$E��$E���S�����%�C�.�@�$E����I�(2�5�3��*�(E�E�e�$�5�E��e�$�$��s�A)c��|jSr^)r�r�s rAr�zBaseClient.timeout�s���}�}�rCc�$�t|�|_yr^)rr�)rdr�s  rAr�zBaseClient.timeout�����(��
rCc��|jSr^)r�r�s rAr�zBaseClient.event_hookss��� � � rCc�|�t|jdg��t|jdg��d�|_yr�)r�rFr�)rdr�s  rAr�zBaseClient.event_hooks	s4���K�O�O�I�r�:�;��[�_�_�Z��<�=�
��rCc��|jS)z�
        Authentication class used when none is passed at the request-level.

        See also [Authentication][0].

        [0]: /quickstart/#authentication
        )r�r�s rAr�zBaseClient.auths���z�z�rCc�0�|j|�|_yr^)r�r��rdr�s  rAr�zBaseClient.auths���%�%�d�+��
rCc��|jS)zK
        Base URL to use when sending requests with relative URLs.
        )r�r�s rAr�zBaseClient.base_urls��
�~�~�rCc�B�|jt|��|_yr^)r�r-r�r�s  rAr�zBaseClient.base_url&s���5�5�c�#�h�?��rCc��|jS)z@
        HTTP headers to include when sending requests.
        )�_headersr�s rAr�zBaseClient.headers*���
�}�}�rCc��tdtjd�dtjd�d��}|j	|�||_y)Ns*/*�asciis
keep-alive)sAcceptsAccept-Encodings
Connections
User-Agent)r�ACCEPT_ENCODING�encode�
USER_AGENT�updater�)rdr��client_headerss   rAr�zBaseClient.headers1sJ�� �!�$3�$:�$:�7�$C�,�)�0�0��9�	
�
��	���g�&�&��
rCc��|jS)zA
        Cookie values to include when sending requests.
        )r�r�s rAr�zBaseClient.cookies>r�rCc�$�t|�|_yr^)rr�)rdr�s  rAr�zBaseClient.cookiesEr�rCc��|jS)zO
        Query parameters to include in the URL when sending requests.
        )r�r�s rAr�zBaseClient.paramsIs��
�|�|�rCc�$�t|�|_yr^)r.r�)rdr�s  rAr�zBaseClient.paramsPs��"�6�*��rC)	�content�data�files�jsonr�r�r�r��
extensionsc	�P�|j|�}|j|�}|j|	�}	|j|�}|�in|}d|vrDt	|
t
�r|jn
t|
�}
tdi|�d|
j�i��}t|||||||||	|��
S)aR
        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/#request-instances
        r�)r�r�r�r�r�r�r�r�rQ)�
_merge_url�_merge_headers�_merge_cookies�_merge_queryparamsr�rLr�r�dict�as_dictr)rd�methodr?r�r�r�r�r�r�r�r�r�s            rA�
build_requestzBaseClient.build_requestTs���4�o�o�c�"���%�%�g�.���%�%�g�.���(�(��0��%�-�R�:�
��J�&��g�'7�8�����W�%�
�
�F�
�F�G�O�O�4E�F�J�����������!�
�	
rCc���t|�}|jrN|jj|jj	d�z}|jj|��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�)r-�is_relative_urlr�r��lstripr�)rdr?�	merge_url�merge_raw_paths    rAr�zBaseClient._merge_url�s\��
��H�	��$�$�"�]�]�3�3�i�6H�6H�6O�6O�PT�6U�U�N��=�=�*�*�N�*�C�C��rCc�r�|s|jr(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�rr�)rdr��merged_cookiess   rAr�zBaseClient._merge_cookies�s4��
�d�l�l�$�T�\�\�2�N��!�!�'�*�!�!��rCc�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.
        )rr�r�)rdr��merged_headerss   rAr�zBaseClient._merge_headers�s&��
!����.�����g�&��rCc�n�|s|jr&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�r.�merge)rdr��merged_queryparamss   rAr�zBaseClient._merge_queryparams�s2���T�[�[�!,�T�[�[�!9��%�+�+�F�3�3��
rCc��|�yt|t�rt|d|d��St|t�r|St	|�rt|��St
d|����)Nrr��username�password)�funczInvalid "auth" argument: )r��tupler
r	�callabler�	TypeErrorr�s  rAr�zBaseClient._build_auth�s]���<��
��e�
$��d�1�g��Q��@�@�
��d�
#��K�
�d�^��T�*�*��7��x�@�A�ArCc���t|t�r|jn|j|�}|�|S|jj
|jj}}|s|r
t||��St�S)Nr�)	r�rLr�r�r?r�r�r
r	)rdr�r�r�r�s     rA�_build_request_authzBaseClient._build_request_auth�sk��%�T�+;�<�D�J�J�$�BR�BR�SW�BX�	
����K�$�[�[�1�1�7�;�;�3G�3G�(���x��h��B�B��v�
rCc���|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�r?r�r�rer�)�_redirect_method�
_redirect_url�_redirect_headers�_redirect_streamrr�rr�)rdr�rfr�r?r�rer�s        rA�_build_redirect_requestz"BaseClient._build_redirect_request�s���
�&�&�w��9��� � ��(�3���(�(��#�v�>���&�&�w��7���$�,�,�'���������)�)�

�	
rCc���|j}|jtjk(r|dk7rd}|jtjk(r|dk7rd}|jtj
k(r|dk(rd}|S)z�
        When being redirected we may want to change the method of the request
        based on certain specs or browser behavior.
        �HEAD�GET�POST)r��status_coder�	SEE_OTHER�FOUND�MOVED_PERMANENTLY)rdr�rfr�s    rAr�zBaseClient._redirect_method�st��
�������5�?�?�2�v��7G��F����5�;�;�.�6�V�3C��F����5�#:�#:�:�v��?O��F��
rCc���|jd}	t|�}|jr2|j
s&|j
|jj
��}|jr|jj|�}|jjr2|js&|j
|jj��}|S#t$r}td|�d�|��d�d}~wwxYw)z<
        Return the URL for the redirect to follow.
        �Locationz Invalid URL in location header: �.�r�N)r<)�fragment)r�r-rrr=r<r�r?r��joinr)rdr�rfr@r?�excs      rAr�zBaseClient._redirect_urls����#�#�J�/��	��h�-�C��:�:�c�h�h��-�-�W�[�[�%5�%5�-�6�C�����+�+�"�"�3�'�C��;�;�������-�-����)=�)=�-�>�C��
��'�	�%�2�3�%�q�9�7���
��	�s�C�	C+�C&�&C+c�|�t|j�}t||j�sFt	|j|�s|jdd�|jjd�|d<||jk7r)|dk(r$|jdd�|jdd�|jdd�|S)	zR
        Return the headers that should be used for the redirect request.
        �
AuthorizationNr��Hostr�zContent-LengthzTransfer-Encoding�Cookie)	rr�rJr?rB�pop�netloc�decoder�)rdr�r?r�r�s     rAr�zBaseClient._redirect_headers"s����'�/�/�*���C����-�%�g�k�k�3�7����O�T�2�"�j�j�/�/��8�G�F�O��W�^�^�#��%��
�K�K�(�$�/��K�K�+�T�2�	���H�d�#��rCc�D�||jk7r|dk(ry|jS)zO
        Return the body that should be used for the redirect request.
        r�N)r�re)rdr�r�s   rAr�zBaseClient._redirect_stream=s#���W�^�^�#��%����~�~�rCc���d|jvrht|jt�r|jnt	|j�}tdi|j�d|j
�i��|_yy)Nr�rQ)r�r�r�rLrr�r�)rdr�r�s   rA�_set_timeoutzBaseClient._set_timeoutHsd���G�.�.�.��d�l�l�,<�=�����T�\�\�*�
�
"&�!V��(:�(:�!V�G�O�O�DU�!V�G��
/rC)r��AuthTypes | Noner��QueryParamTypes | Noner��HeaderTypes | Noner��CookieTypes | Noner�r,r��boolr��intr��+None | typing.Mapping[str, list[EventHook]]r��	URL | strr�rr��#str | typing.Callable[[bytes], str]rzr{)rzr)r?r-rzr-)r��ProxyTypes | Noner�rrzzdict[str, Proxy | None])rzr)r�r,rzr{)rz�dict[str, list[EventHook]])r�rrzr{)rz�Auth | None)r�r!rzr{)rzr-)r?rrzr{)rzr)r�r$rzr{)rzr)r�r#rzr{)rzr.)r�r&rzr{)r�r�r?rr��RequestContent | Noner��RequestData | Noner��RequestFiles | Noner��typing.Any | Noner�rr�rr�rr��TimeoutTypes | UseClientDefaultr��RequestExtensions | Nonerzr)r?rrzr-r^)r�rrzr)r�rrzr)r�rrzr)r�rrzr)r�rr��#AuthTypes | UseClientDefault | Nonerzr	)r�rrfrrzr)r�rrfrrzr�)r�rrfrrzr-)r�rr?r-r�r�rzr)r�rr�r�rzz'SyncByteStream | AsyncByteStream | None)r�rrzr{)!rMrNrOrr
rh�propertyr�r�r�r�r��setterr�r�r�r�r�r�r1r�r�r�r�r�r�r�r�r�r�r�r�rrQrCrAr�r��sL��"&�)-�&*�&*� 6�!&�2�EI� ��@G� +�� +�'�	 +�
$� +�$�
 +�� +�� +�� +�C� +�� +�� +�>� +�
� +�D�1��1�����;�
%�&�%�;?�%�	 �%�����
�^�^�)��)��!��!����
��
�����
�[�[�,��,������_�_�@��@�����
�^�^�
'��
'�����
�^�^�)��)������]�]�+��+�*.�#'�%)�"&�)-�&*�&*�3E�/3�1
��1
��1
�
'�1
�!�
1
�#�1
� �1
�'�1
�$�1
�$�1
�1�1
�-�1
�
�1
�f�,	��04�
�,�
�	�
�
B�5G����2��
�	�$
�&�.�:�6	��	�(+�	�	0�	�WrCr�c�B��eZdZdZdddddddddddedeeddddd�																																							d�fd�Zdddddedf															d d	�Zdddddef															d!d
�Z	d"d�Z
dddddddeeedd�																											d#d
�Ze
dddddddeeedd�																											d$d��Zdeed�									d%d�Z										d&d�Z								d'd�Zd(d�Zdddeeedd�																	d)d�Zdddeeedd�																	d*d�Zdddeeedd�																	d*d�Zdddddddeeedd�																									d+d�Zdddddddeeedd�																									d+d�Zdddddddeeedd�																									d+d�Zdddeeedd�																	d*d�Zd,d�Zd-d�Z			d.							d/d�Z�xZS)0r3av
    An HTTP client, with connection pooling, HTTP/2, redirects, cookie persistence, etc.

    It can be shared between threads.

    Usage:

    ```python
    >>> client = httpx.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.
    * **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	ddl}|xr|du}|j	|
|�}|j|||||	||��|_|j�D��
cic]+\}}
t|�|
�dn|j|
|||||	|����-c}
}|_
|�F|jj|j�D��cic]\}}t|�|��c}}�tt|jj���|_
y#t$r
td�d�wxYwcc}
}wcc}}w�Nr�rzuUsing 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,��superrh�h2�ImportErrorr��_init_transport�
_transportr�r/�_init_proxy_transport�_mountsr�r��sorted)rdr�r�r�r�r'r(r�r)r*r�r+r�r�r,r�r�r�r-r�r3r��	proxy_mapr��	__class__s                        �rArhzClient.__init__s����.	��������-�'�#���-�	�	
��
��&�;�)�t�*;���'�'��/@�A�	��.�.��������/�
���*(�o�o�/�
@
�0�
��U�
�s�O��}�"��+�+����#����,��

�0�
@
������L�L���BH�,�,�.�Q�.���Y��C��)�+�.�Q�
��F�4�<�<�#5�#5�#7�8�9����K�
�!�S����
��$
@
�� R��D �-0D9�D?
� D6c�,�|�|St||||||��S�Nr0�r�rdr'r(r�r)r*r,r-s        rAr5zClient._init_transport�s/��� ����������

�	
rCc	�&�t|||||||��S�N)r'r(r�r)r*r,r�r?�rdr�r'r(r�r)r*r,s        rAr7zClient._init_proxy_transport�s&����������
�	
rCc��|jj�D]*\}}|j|�s�|�|jcS|cS|jS�z�
        Returns the transport instance that should be used for a given URL.
        This will either be the standard connection pool, or a proxy.
        �r8r��matchesr6�rdr?�patternr-s    rA�_transport_for_urlzClient._transport_for_url��L��
#'�,�,�"4�"4�"6��G�Y����s�#�*3�*;�t���J��J�#7����rC�r�r�r�r�r�r�r�r�r�r�r�c
��|	�d}tj|td��|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/#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.rV��
stacklevel�r�r?r�r�r�r�r�r�r�r�r��r�r���warnings�warn�DeprecationWarningr��send�rdr�r?r�r�r�r�r�r�r�r�r�r�r��messager�s                rAr�zClient.requestsw��B��C�
�

�M�M�'�#5�!�D��$�$�����������!�%�
���y�y��t�>N�y�O�OrCc
#��K�|j|||||||||	||
��}|j||
|d��}	|��|j�y#|j�wxYw�w�a
        Alternative to `httpx.request()` that streams the response body
        instead of loading it into memory at once.

        **Parameters**: See `httpx.request`.

        See also: [Streaming Responses][0]

        [0]: /quickstart#streaming-responses
        rQT)r�r�r�reN)r�rWrw�rdr�r?r�r�r�r�r�r�r�r�r�r�r�r�rfs                rArez
Client.stream;s}����8�$�$�����������!�%�
���9�9���-��	�
��	��N��N�N���H�N�N��s�2A�A
�A�
A�A�rer�r�c��|jtjk(rtd��tj|_t|t�r|jn|}|j|�|j||�}|j|||g��}	|s|j�|S#t$r}|j�|�d}~wwxYw)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 `httpx.Request()` is supported as well.

        See also: [Request instances][0]

        [0]: /advanced/clients/#request-instances
        �5Cannot send a request, as the client has been closed.�r�r��historyN)r�rUrZ�RuntimeErrorrYr�rLr�rr��_send_handling_auth�read�
BaseExceptionrw�rdr�rer�r�rfrs       rArWzClient.sendos���*�;�;�+�,�,�,��V�W�W�!�(�(����*�,<�=�
�!�!�!�	�	
���'�"��'�'���6���+�+���-��	,�
��	���
�
���O���	��N�N���I��	�s�B)�)	C	�2C�C	c��|j|�}	t|�}	|j|||��}		|j|�}t
|�|_|j�|}|j|��[#t$r|cY|j�SwxYw#t$r}|j�|�d}~wwxYw#|j�wxYw�N)r�ra)�sync_auth_flow�next�_send_handling_redirectsrW�
StopIterationrwr�rard�appendre�	rdr�r�r�ra�	auth_flowrf�next_requestrs	         rArczClient._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�9B>�:B�B�B�B�	B;�$B6�6B;�;B>�>Cc���	t|�|jkDr
td|���|jdD]
}||��|j	|�}	|jdD]
}||��t|�|_|js|S|j||�}||gz}|r|j�n	||_
|S	��#t$r}|j�|�d}~wwxYw�Nz#Exceeded maximum allowed redirects.rr�rf)
�lenr�rr��_send_single_requestr�ra�has_redirect_locationr�rdrprerw�rdr�r�ra�hookrfrs       rArkzClient._send_handling_redirects�s�����7�|�d�0�0�0�&�9�7����)�)�)�4���W�
�5��0�0��9�H�
� �-�-�j�9�D���N�:�#'��=�� ��5�5�#�O��6�6�w��I��!�X�J�.��#��M�M�O�,3�H�)�#�O�$�-��6!�
���� ��	��
�s�9C�3C�	C%�C � C%c��|j|j�}tj�}t	|j
t�std��t|��5|j|�}ddd�t	j
t�sJ�||_
t|j
||��|_|jj|�|j|_t j#d|j$|j|j&|j(|j*�|S#1swY��xYw)�L
        Sends a single request, without handling any redirections.
        z?Attempted to send an async request with a sync Client instance.rN�rfrg�HTTP Request: %s %s "%s %d %s")rJr?rrrsr�rer+rbr�handle_requestr�r\r��extract_cookiesr�r��logger�infor��http_versionr��
reason_phrase�rdr�r-rgrfs     rArtzClient._send_single_request�s���+�+�G�K�K�8�	��!�!�#���'�.�.�.�9��Q��
��W�
-� �/�/��8�H�.��(�/�/�>�:�:�:�"���)��O�O�h�e�
���	
���$�$�X�.�$(�$:�$:��!����,��N�N��K�K��!�!�� � ��"�"�
	
���+.�
-�s�!D5�5D>�r�r�r�r�r�r�r�c�6�|jd||||||||��	S)�U
        Send a `GET` request.

        **Parameters**: See `httpx.request`.
        r�r�r�	rdr?r�r�r�r�r�r�r�s	         rArFz
Client.gets5��"�|�|�������-��!��

�
	
rCc�6�|jd||||||||��	S)�Z
        Send an `OPTIONS` request.

        **Parameters**: See `httpx.request`.
        �OPTIONSr�rr�s	         rA�optionszClient.options)s5��"�|�|�������-��!��

�
	
rCc�6�|jd||||||||��	S)�V
        Send a `HEAD` request.

        **Parameters**: See `httpx.request`.
        r�r�rr�s	         rA�headzClient.headFs5��"�|�|�������-��!��

�
	
rCc�>�|jd|||||||||	|
||��
S)�V
        Send a `POST` request.

        **Parameters**: See `httpx.request`.
        r�rLr�
rdr?r�r�r�r�r�r�r�r�r�r�r�s
             rA�postzClient.postcsA��*�|�|�����������-��!��
�	
rCc�>�|jd|||||||||	|
||��
S)�U
        Send a `PUT` request.

        **Parameters**: See `httpx.request`.
        �PUTrLrr�s
             rA�putz
Client.put�sA��*�|�|�����������-��!��
�	
rCc�>�|jd|||||||||	|
||��
S)�W
        Send a `PATCH` request.

        **Parameters**: See `httpx.request`.
        �PATCHrLrr�s
             rA�patchzClient.patch�sA��*�|�|�����������-��!��
�	
rCc�6�|jd||||||||��	S)�X
        Send a `DELETE` request.

        **Parameters**: See `httpx.request`.
        �DELETEr�rr�s	         rA�deletez
Client.delete�s5��"�|�|�������-��!��

�
	
rCc��|jtjk7rbtj|_|jj	�|j
j
�D]}|��|j	��yy�z.
        Close transport and proxies.
        N)r�rUrZr6rwr8�values)rdr-s  rArwzClient.close�s_���;�;�+�,�,�,�%�,�,�D�K��O�O�!�!�#�!�\�\�0�0�2�	��(��O�O�%�3�	-rCc�v�|jtjk7r:tjdtjdi|j}t|��tj|_|jj�|jj�D]}|��|j��|S�Nz-Cannot open a client instance more than once.z9Cannot reopen a client instance, once it has been closed.)
r�rUrXrYrZrbr6�	__enter__r8r�)rd�msgr-s   rAr�zClient.__enter__�s����;�;�+�.�.�.��"�"�$S��"�"�O��
�k�k��C��s�#�#�!�(�(������!�!�#����,�,�.�I��$��#�#�%�/��rCc���tj|_|jj	|||�|j
j
�D]}|��|j	|||��yr^)rUrZr�r6�__exit__r8r�)rd�exc_type�	exc_value�	tracebackr-s     rAr�zClient.__exit__
sV��"�(�(������ � ��9�i�@����,�,�.�I��$��"�"�8�Y�	�B�/rC)(r�rr�rr�rr�rr'�ssl.SSLContext | str | boolr(�CertTypes | Noner�rr)rr*rr�rr+z0None | typing.Mapping[str, BaseTransport | None]r�r,r�rr,rr�rr�rr�rr-�BaseTransport | Noner�rrzr{)r'r�r(r�r�rr)rr*rr,rr-r�rzr)r�rr'r�r(r�r�rr)rr*rr,rrzr)r?r-rzr�r�r�r?rr�rr�rr�rr�r r�rr�rr�rr�r#r��bool | UseClientDefaultr�r!r�r"rzr)r�r�r?rr�rr�rr�rr�r r�rr�rr�rr�r#r�r�r�r!r�r"rzztyping.Iterator[Response]�
r�rrerr�r#r�r�rzr�
r�rr�r	r�rra�list[Response]rzr�r�rr�rrar�rzr�r�rrzr�r?rr�rr�rr�rr�r#r�r�r�r!r�r"rzr�r?rr�rr�rr�rr��AuthTypes | UseClientDefaultr�r�r�r!r�r"rzr�r?rr�rr�rr�rr�r r�rr�rr�rr�r�r�r�r�r!r�r"rzrr|)rdr4rzr4�NNN�r�ztype[BaseException] | Noner�zBaseException | Noner�zTracebackType | Nonerzr{)rMrNrOrPrrr
rhr5r7rJr1r�rrerWrcrkrtrFr�r�r�r�r�r�rwr�r��
__classcell__�r;s@rAr3r3Rs?���*�^"&�)-�&*�&*�.2�!%����#'�EI� 6�!&�'�2�EI� �*.�@G�+M:��M:�'�	M:�
$�M:�$�
M:�,�M:��M:��M:��M:��M:�!�M:�C�M:��M:��M:� �!M:�"�#M:�$C�%M:�&�'M:�((�)M:�*>�+M:�,
�-M:�b/3�!%����'�*.�
�+�
��
��	
�
�
��

��
�(�
�
�
�2/3�!%����'�
��
�,�
��	
�
�
��

��
��
�
�
�(	� *.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�6P��6P��6P�
'�6P�!�
6P�#�6P� �6P�'�6P�$�6P�$�6P�2�6P�2�6P�1�6P�-�6P� 
�!6P�p�*.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�1��1��1�
'�1�!�
1�#�1� �1�'�1�$�1�$�1�2�1�2�1�1�1�-�1� 
#�!1��1�n�4F�4F�
1��1��	1�
2�1�2�
1�
�1�f �� �� ��	 �
 � �
�
 �D#��#��#� �	#�

�#�J!�N*.�&*�&*�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�
�-�
�
�
�:
&��(04�*.�*.�	C�,�C�(�C�(�	C�

�CrCc�B��eZdZdZddddddddddedeedddddd�																																							d�fd�Zdddddedf															d d	�Zdddddef															d!d
�Z	d"d�Z
dddddddeeedd�																											d#d
�Ze
dddddddeeedd�																											d$d��Zdeed�									d%d�Z										d&d�Z								d'd�Zd(d�Zdddeeedd�																	d)d�Zdddeeedd�																	d*d�Zdddeeedd�																	d*d�Zdddddddeeedd�																									d+d�Zdddddddeeedd�																									d+d�Zdddddddeeedd�																									d+d�Zdddeeedd�																	d*d�Zd,d�Zd-d�Z			d.							d/d�Z�xZS)0r2a�
    An asynchronous HTTP client, with connection pooling, HTTP/2, redirects,
    cookie persistence, etc.

    It can be shared between tasks.

    Usage:

    ```python
    >>> async with httpx.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.
    * **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	ddl}|xr|du}|j	|	|�}|j||||||
|��|_|j�D��	cic]+\}}	t|�|	�dn|j|	||||||
����-c}	}|_
|
�F|jj|
j�D��cic]\}}t|�|��c}}�tt|jj���|_
y#t$r
td�d�wxYwcc}	}wcc}}wr/r1)rdr�r�r�r�r'r(r)r*r�r+r�r�r,r�r�r�r-r�r�r3r�r:r�r;s                        �rArhzAsyncClient.__init__Is����.	��������-�'�#���-�	�	
��
��&�;�)�t�*;���'�'��/@�A�	��.�.��������/�
���,(�o�o�/�
E
�0�
��U�
�s�O��}�"��+�+����#����,��

�0�
E
������L�L���BH�,�,�.�Q�.���Y��C��)�+�.�Q�
��F�4�<�<�#5�#5�#7�8�9����K�
�!�S����
��&
E
�� Rr<c�,�|�|St||||||��Sr>�rr@s        rAr5zAsyncClient._init_transport�s/��� ���!�������

�	
rCc	�&�t|||||||��SrBr�rCs        rAr7z!AsyncClient._init_proxy_transport�s&��"��������
�	
rCc��|jj�D]*\}}|j|�s�|�|jcS|cS|jSrErFrHs    rArJzAsyncClient._transport_for_url�rKrCrLc
��K�|	�d}tj|td��|j|||||||||	||
��}|j	||
|���d{���S7��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/#merging-of-configuration
        NrNrVrOrQrRrSrXs                rAr�zAsyncClient.request�s�����D��C�
�

�M�M�'�#5�!�D��$�$�����������!�%�
���Y�Y�w�T�DT�Y�U�U�U�U�s�AA�A�Ac
��K�|j|||||||||	||
��}|j||
|d���d{���}	|���|j��d{���y7�#7�#|j��d{���7wxYw�wr[)r�rWr�r\s                rArezAsyncClient.streams�����8�$�$�����������!�%�
�������-��	#�
�
��	$��N��/�/�#�#�#�
��
$��(�/�/�#�#�#�sD�5A=�A�A=�A�A=�A�A=�A=�A:�3A6�4A:�:A=r]c���K�|jtjk(rtd��tj|_t|t�r|jn|}|j|�|j||�}|j|||g���d{���}	|s|j��d{���|S7�!7�#t$r }|j��d{���7|�d}~wwxYw�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 `httpx.Request()` is supported as well.

        See also: [Request instances][0]

        [0]: /advanced/clients/#request-instances
        r_r`N)r�rUrZrbrYr�rLr�rr�rc�areadrer�rfs       rArWzAsyncClient.send:s�����*�;�;�+�,�,�,��V�W�W�!�(�(����*�,<�=�
�!�!�!�	�	
���'�"��'�'���6���1�1���-��	2�
�
��	���n�n�&�&�&��O�
��'���	��/�/�#�#�#��I��	�sT�BC+�B;�C+�B?�4B=�5B?�: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|cY|j��d{���7SwxYw7�H#t$r }|j��d{���7|�d}~wwxYw#|j��d{���7wxYw�wrh)�async_auth_flow�	__anext__rk�asend�StopAsyncIterationr�r�rar�rmrerns	         rArczAsyncClient._send_handling_authms�����(�(��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�2C�3D�C	�D�
C�C�	C<�C7�/C2�0C7�7C<�<C?�?D�D�D�Dc��:K�	t|�|jkDr
td|���|jdD]}||��d{����|j	|��d{���}	|jdD]}||��d{����t|�|_|js|S|j||�}||gz}|r|j��d{���n	||_
|S	��7��7��7�f7�#t$r }|j��d{���7|�d}~wwxYw�wrr)
rsr�rr�rtr�rarur�r�rprer�rvs       rArkz$AsyncClient._send_handling_redirects�s.������7�|�d�0�0�0�&�9�7����)�)�)�4���7�m�#�#�5�"�6�6�w�?�?�H�
� �-�-�j�9�D��x�.�(�(�:�$(��=�� ��5�5�#�O��6�6�w��I��!�X�J�.��#�"�.�.�*�*�*�,3�H�)�#�O�+�/�$��?��)��+��
!�
��o�o�'�'�'��	��
�s��AD�C'�D�!C)�"D�'C/�C+�#C/�(D�)-C/�C-�
C/�$D�)D�+C/�-C/�/	D�8D�D�D�D�Dc��K�|j|j�}tj�}t	|j
t�std��t|��5|j|��d{���}ddd�t	j
t�sJ�||_
t|j
||��|_|jj|�|j|_t j#d|j$|j|j&|j(|j*�|S7��#1swY��xYw�w)ryz?Attempted to send an sync request with an AsyncClient instance.rNrzr{)rJr?rrrsr�rer rbr�handle_async_requestr�r~r�r}r�r�r~rr�r�r�r�r�s     rArtz AsyncClient._send_single_request�s�����+�+�G�K�K�8�	��!�!�#���'�.�.�/�:��Q��
��W�
-�&�;�;�G�D�D�H�.��(�/�/�?�;�;�;�"���*��O�O�h�e�
���	
���$�$�X�.�$(�$:�$:��!����,��N�N��K�K��!�!�� � ��"�"�
	
���'E��.�
-�s1�A!E
�#E�8D?�9E�=CE
�?E�E
�E
r�c��RK�|jd||||||||��	�d{���S7��w)r�r�r�Nrr�s	         rArFzAsyncClient.get�sC����"�\�\�������-��!�"�

�

�
	
�

���'�%�'c��RK�|jd||||||||��	�d{���S7��w)r�r�r�Nrr�s	         rAr�zAsyncClient.options�sC����"�\�\�������-��!�"�

�

�
	
�

�r�c��RK�|jd||||||||��	�d{���S7��w)r�r�r�Nrr�s	         rAr�zAsyncClient.headsC����"�\�\�������-��!�"�

�

�
	
�

�r�c��ZK�|jd|||||||||	|
||��
�d{���S7��w)r�r�rLNrr�s
             rAr�zAsyncClient.post.sO����*�\�\�����������-��!�"�
�
�	
�
���"+�)�+c��ZK�|jd|||||||||	|
||��
�d{���S7��w)r�r�rLNrr�s
             rAr�zAsyncClient.putSsO����*�\�\�����������-��!�"�
�
�	
�
�r�c��ZK�|jd|||||||||	|
||��
�d{���S7��w)r�r�rLNrr�s
             rAr�zAsyncClient.patchxsO����*�\�\�����������-��!�"�
�
�	
�
�r�c��RK�|jd||||||||��	�d{���S7��w)r�r�r�Nrr�s	         rAr�zAsyncClient.delete�sC����"�\�\�������-��!�"�

�

�
	
�

�r�c��2K�|jtjk7rrtj|_|jj	��d{���|j
j
�D]}|��|j	��d{����yy7�@7�
�wr�)r�rUrZr6r�r8r�)rdr�s  rAr�zAsyncClient.aclose�sy�����;�;�+�,�,�,�%�,�,�D�K��/�/�(�(�*�*�*����,�,�.���$��,�,�.�(�(�/�	-�
+��)�s*�AB�B�#B�7B�
B�	B�Bc��K�|jtjk7r:tjdtjdi|j}t|��tj|_|jj��d{���|jj�D]}|��|j��d{����|S7�@7�
�wr�)
r�rUrXrYrZrbr6�
__aenter__r8r�)rdr�r�s   rAr�zAsyncClient.__aenter__�s������;�;�+�.�.�.��"�"�$S��"�"�O��
�k�k��C��s�#�#�!�(�(����o�o�(�(�*�*�*��\�\�(�(�*�E�� ��&�&�(�(�(�+���		+��)�s*�B
C�C
�
#C�1C�C�	C�Cc��K�tj|_|jj	|||��d{���|j
j
�D] }|��|j	|||��d{����"y7�B7�	�wr^)rUrZr�r6�	__aexit__r8r�)rdr�r�r�r�s     rAr�zAsyncClient.__aexit__�sq����"�(�(����o�o�'�'��)�Y�G�G�G��\�\�(�(�*�E�� ��o�o�h�	�9�E�E�E�+�	H��F�s'�6A?�A;�#A?�A?�3A=�4A?�=A?)(r�rr�rr�rr�rr'r�r(r�r)rr*rr�rr+z5None | typing.Mapping[str, AsyncBaseTransport | None]r�r,r�rr,rr�rr�rr�rr-�AsyncBaseTransport | Noner�rr�rrzr{)r'r�r(r�r�rr)rr*rr,rr-r�rzr)r�rr'r�r(r�r�rr)rr*rr,rrzr)r?r-rzrr�)r�r�r?rr�rr�rr�rr�r r�rr�rr�rr�r#r�r�r�r!r�r"rzztyping.AsyncIterator[Response]r�r�r�r�r�r�r�r|)rdr6rzr6r�r�)rMrNrOrPrrr
rhr5r7rJr1r�rrerWrcrkrtrFr�r�r�r�r�r�r�r�r�r�r�s@rAr2r2s?���+�`"&�)-�&*�&*�.2�!%���#'�JN� 6�!&�'�2�EI� �/3��@G�+M:��M:�'�	M:�
$�M:�$�
M:�,�M:��M:��M:��M:�!�M:�H�M:��M:��M:��M:� �!M:�"C�#M:�$�%M:�&-�'M:�(�)M:�*>�+M:�,
�-M:�b/3�!%����'�/3�
�+�
��
��	
�
�
��

��
�-�
�
�
�2/3�!%����'�
��
�,�
��	
�
�
��

��
��
�
�
�(	� *.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�7V��7V��7V�
'�7V�!�
7V�#�7V� �7V�'�7V�$�7V�$�7V�2�7V�2�7V�1�7V�-�7V� 
�!7V�r�*.�#'�%)�"&�)-�&*�&*�4F�4F�3E�/3�1$��1$��1$�
'�1$�!�
1$�#�1$� �1$�'�1$�$�1$�$�1$�2�1$�2�1$�1�1$�-�1$� 
(�!1$��1$�n�4F�4F�
1��1��	1�
2�1�2�
1�
�1�f %�� %�� %��	 %�
 � %�
�
 %�D$��$��$� �	$�

�$�L �L*.�&*�&*�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�
�-�
�
�
�:
)��(04�*.�*.�	F�,�F�(�F�(�	F�

�FrC)r?r-r@r-rzr)r?r-rzz
int | None)r?r-rIr-rzr)\�
__future__rrt�enum�loggingrr�typingrT�
contextlibrr�typesrrr�r	r
r�_configrr
rrrr�	_decodersr�_exceptionsrrrr�_modelsrrrr�
_status_codesr�_transports.baserr�_transports.defaultrr�_typesr r!r"r#r$r%r&r'r(r)r*r+r,�_urlsr-r.�_utilsr/r0�
TYPE_CHECKING�ssl�__all__�TypeVarr4r6rBr>rJrLr1�	getLoggerr~r�r�keysr��EnumrUr\r~�Callable�Any�	EventHookr�r3r2)r�s0rA�<module>r�s���"�����
��:��$�0�0���*���9�8� �?�B�����$�7�	����
9���F�N�N�3�h�'���F�N�N�3�m�,���6����(&�'��
��	�	�7�	#���[�M�
*�
��)�)�+�&�+�+�-�C�-�S��
�1B�S�-�C���
�$�)�)���n��.$��$�.
�O�O�C����O�,�	�SW�SW�lFC�Z�FC�RHF�*�HF��E%Ds�=
F:�F: