Files
serveur-d-authentification/venv/lib/python3.10/site-packages/requests/__pycache__/sessions.cpython-310.pyc

287 lines
22 KiB
Plaintext
Raw Normal View History

o
2026-09-08 11:07:02 +00:00
l<><6C>jȅ<00>@s<>dZddlmZddlZddlZddlZddlmZddlm Z m
Z
m Z ddl m Z ddlmZmZmZdd lmZdd
lmZdd lmZdd lmZdd lmZmZmZddlm Z m!Z!m"Z"m#Z#ddl$m%Z%m&Z&m'Z'm(Z(ddl)m*Z*m+Z+ddl,m-Z-m.Z.m/Z/m0Z0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@er<>ddlAmBZBddlCmDZDmEZEddlFmZGddlmHZHejIdkr<>ejJZKnejZKefd-d d!<21>ZLefd.d%d&<26>ZMGd'd(<28>d(<28>ZNGd)d*<2A>d*eN<65>ZOd/d+d,<2C>ZPdS)0z<30>
requests.sessions
~~~~~~~~~~~~~~~~~
This module provides a Session object to manage and persist settings across
requests (cookies, auth, proxies).
<EFBFBD>)<01> annotationsN)<01> OrderedDict)<03> Generator<6F>Mapping<6E>MutableMapping)<01> timedelta)<03> TYPE_CHECKING<4E>Any<6E>cast<73>)<01>to_native_string)<01> is_prepared)<01> HTTPAdapter)<01>_basic_auth_str)<03> cookielib<69>urljoin<69>urlparse)<04>RequestsCookieJar<61>cookiejar_from_dict<63>extract_cookies_to_jar<61> merge_cookies)<04>ChunkedEncodingError<6F>ContentDecodingError<6F> InvalidSchema<6D>TooManyRedirects)<02> default_hooks<6B> dispatch_hook)<05>DEFAULT_REDIRECT_LIMIT<49>REDIRECT_STATI<54>PreparedRequest<73>Request<73>Response)<01>codes)<01>CaseInsensitiveDict)
<EFBFBD> DEFAULT_PORTS<54>default_headers<72>get_auth_from_url<72>get_environ_proxies<65>get_netrc_auth<74> requote_uri<72>resolve_proxies<65> rewind_body<64>should_bypass_proxies<65>to_key_val_list)<01> CookieJar)<02>Self<6C>Unpack)<01>_types)<01> BaseAdapter<65>win32<33>request_settingr <00>session_setting<6E>
dict_class<EFBFBD>type<70>returncCsp|dur|S|dur |St|t<01>rt|t<01>s|S|t|<01><01>}|<03>t|<00><01>dd<03>|<03><04>D<00>}|D]}||=q0|S)z<>Determines appropriate setting for a given request, taking into account
the explicit setting on that request, and the setting in the session. If a
setting is a dictionary, they will be merged together using `dict_class`
NcSsg|]
\}}|dur|<01>qS<00>N<>)<03>.0<EFBFBD>k<>vr:r:<00>t/home/sorel/systeme_gestion_cerfig/serveur-d-authentification/venv/lib/python3.10/site-packages/requests/sessions.py<70>
<listcomp>esz!merge_setting.<locals>.<listcomp>)<05>
isinstancerr-<00>update<74>items)r4r5r6<00>merged_setting<6E> none_keys<79>keyr:r:r><00> merge_settingLs<02><02> rF<00> request_hooks<6B> _t.HooksType<70> session_hookscCs@|dus |<01>d<02>gkr |S|dus|<00>d<02>gkr|St|||<02>S)z<>Properly merges both requests and session hooks.
This is necessary because when request_hooks == {'response': []}, the
merge breaks Session hooks entirely.
N<>response)<02>getrF)rGrIr6r:r:r><00> merge_hooksls

 rLc@szeZdZUded<ded<ded<d4d d<0E>Zd5dd<12>Zd6dd<17>Z      d7d8d(d)<29>Zd9d-d.<2E>Zd:d0d1<64>Z d9d2d3<64>Z
dS);<3B>SessionRedirectMixin<69>int<6E> max_redirects<74>bool<6F> trust_envr<00>cookies<65>requestr<00>kwargsr r8r!cKsdSr9r:)<03>selfrSrTr:r:r><00>send<6E>szSessionRedirectMixin.send<6E>resp<73>
str | NonecCs(|jr|jd}|<02>d<02>}t|d<03>SdS)z7Receives a Response. Returns a redirect URI or ``None``<60>location<6F>latin1<6E>utf8N)<04> is_redirect<63>headers<72>encoder )rUrWrYr:r:r><00>get_redirect_target<65>s



z(SessionRedirectMixin.get_redirect_target<65>old_url<72>str<74>new_urlcCs<>t|<01>}t|<02>}|j|jkrdS|jdkr&|jdvr&|jdkr&|jdvr&dS|j|jk}|j|jk}t<04>|jd<07>df}|sI|j|vrI|j|vrIdS|pL|S)zFDecide whether Authorization header should be removed when redirectingT<67>http)<02>PN<>https)i<>NFN)r<00>hostname<6D>scheme<6D>portr$rK)rUr`rb<00>
old_parsed<EFBFBD>
new_parsed<EFBFBD> changed_port<72>changed_scheme<6D> default_portr:r:r><00>should_strip_auth<74>s$ 



  <02>

z&SessionRedirectMixin.should_strip_authFNT<4E>req<65>stream<61>timeout<75>_t.TimeoutType<70>verify<66> _t.VerifyType<70>cert<72> _t.CertType<70>proxies<65>dict[str, str] | None<6E>yield_requests<74>adapter_kwargs<67>Generator[Response, None, None]c 
ksH<00>g}
|<00>|<01>} t|j<02>j} | <0B>r"|<02><04>} |
dd<01>|_|
<EFBFBD>|<01>z|jWntt t
fy9|j j dd<03>Ynwt |j<05>|jkrMtd|j<0E>d<05>|d<06><02>|<01><10>| <0B>d<07>ret|j<02>}d<08>t|j<14>| g<02>} t| <0B>}|jd krw| rw|j| d
<EFBFBD>}n|jr}|j} |<0F><16>} |js<>t|jt| <0B><01>} nt| <0B>} t| <0B>| _|<00>| |<01>|jtjtjfvr<>d }|D] }| j<1F> |d<01>q<>d| _!| j}|<12> d d<01>t"d | j#<23>}t$|||j <0B>t%||j&<26>| <0A>'|<13>|<00>(| |<07>}|<00>)| |<01>| j*duo<>d|vp<>d|v}|r<>t+| <0A>| }|r<>|Vn |j,|f|||||dd<10>| <09><01>}t$|j&| |j <0B>|<00>|<01>} |V| sdSdS)zBReceives a Response. Returns a generator of Responses or Requests.NF)<01>decode_contentz Exceeded z redirects.)rJz//<2F>:<3A>)<01>fragment)<03>Content-Lengthz Content-Type<70>Transfer-Encoding<6E>Cookier.r<>r<>)rprqrsrurw<00>allow_redirects)-r_r<00>urlr<00>copy<70>history<72>append<6E>contentrr<00> RuntimeError<6F>raw<61>read<61>lenrOr<00>close<73>
startswith<EFBFBD>joinr rg<00>_replace<63>geturl<72>netlocrr)<00>rebuild_method<6F> status_coder"<00>temporary_redirect<63>permanent_redirectr]<00>pop<6F>bodyr
<00>_cookiesrrrR<00>prepare_cookies<65>rebuild_proxies<65> rebuild_auth<74>_body_positionr+rV)rUrWrorprqrsrurwryrz<00>histr<74><00>previous_fragment<6E>prepared_request<73> parsed_rurl<72>parsed<65>purged_headers<72>headerr]<00>
cookie_jar<EFBFBD>
rewindabler:r:r><00>resolve_redirects<74>s<><02>
 

<02><06>


 <06>   
  
<02><02><04><06>
 <0C>z&SessionRedirectMixin.resolve_redirectsr<73>rJ<00>NonecCsv|j}t|<03>s J<00>t|<01>sJ<00>|j}|j}|j}d|vr%|<00>||<06>r%|d=|jr,t|<06>nd}|dur9|<01>|<07>dSdS)z<>When being redirected we may want to strip authentication from the
request to avoid leaking credentials. This method intelligently removes
and reapplies authentication where possible to avoid credential loss.
<20> AuthorizationN)rS<00> _is_preparedr]r<>rnrQr(<00> prepare_auth)rUr<>rJ<00>original_requestr]<00> original_urlr<6C><00>new_authr:r:r>r<>5s  <04>z!SessionRedirectMixin.rebuild_auth<74>dict[str, str]cCs<>t|<01>sJ<00>|j}t|j<03>j}t|||j<06>}d|vr|d=z
t||<00>\}}Wn ty4d\}}Ynw|<04> d<03>sE|rE|rEt
||<07>|d<|S)a<>This method re-evaluates the proxy configuration by considering the
environment variables. If we are redirected to a URL covered by
NO_PROXY, we strip the proxy configuration. Otherwise, we set missing
proxy keys for this URL (in case they were stripped by a previous
redirect).
This method also replaces the Proxy-Authorization header where
necessary.
:rtype: dict
zProxy-Authorization<6F>NNre) r<>r]rr<>rgr*rQr&<00>KeyErrorr<72>r)rUr<>rwr]rg<00> new_proxies<65>username<6D>passwordr:r:r>r<>Ns    <02>z$SessionRedirectMixin.rebuild_proxiescCsX|j}|jtjkr|dkrd}|jtjkr|dkrd}|jtjkr'|dkr'd}||_dS)z<>When being redirected we may want to change the method of the request
based on certain specs or browser behavior.
<20>HEAD<41>GET<45>POSTN)<06>methodr<64>r"<00> see_other<65>found<6E>moved)rUr<>rJr<>r:r:r>r<>rs
z#SessionRedirectMixin.rebuild_method<6F>rSrrTr r8r!)rWr!r8rX)r`rarbrar8rP)FNTNNF)rWr!rorrprPrqrrrsrtrurvrwrxryrPrzr r8r{)r<>rrJr!r8r<>)r<>rrwrxr8r<>) <0B>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__annotations__rVr_rnr<>r<>r<>r<>r:r:r:r>rMs"



$ <0C>
{
$rMc@speZdZUdZded<ded<ded<ded <d
ed <d ed <ded<ded<ded<d ed<ded<ded<gd<19>Zded<dkdd<1F>Zdld!d"<22>Zdmd%d&<26>Zdnd*d+<2B>Z , , , , , , , - , , , , , ,dodpdCdD<64>Z
,dqdrdGdH<64>Z dsdJdK<64>Z dsdLdM<64>Z , ,dtdudOdP<64>Z ,dqdvdRdS<64>Z ,dqdvdTdU<64>ZdsdVdW<64>ZdwdXdY<64>Zdxd[d\<5C>Zdyd^d_<64>Zdkd`da<64>Zdzddde<64>Zd{dfdg<64>Zd|didj<64>Zd,S)}<7D>Sessiona<6E>A Requests session.
Provides cookie persistence, connection-pooling, and configuration.
Basic Usage::
>>> import requests
>>> s = requests.Session()
>>> s.get('https://httpbin.org/get')
<Response [200]>
Or as a context manager::
>>> with requests.Session() as s:
... s.get('https://httpbin.org/get')
<Response [200]>
zCaseInsensitiveDict[str]r]<00> _t.AuthType<70>authr<68>rwzdict[str, list[_t.HookType]]<5D>hookszMutableMapping[str, Any]<5D>paramsrPrprtrsrvrurNrOrQrrRz MutableMapping[str, BaseAdapter]<5D>adapters) r]rRr<>rwr<>r<>rsrur<>rprQrOz list[str]<5D> __attrs__r8r<>cCsrt<00>|_d|_i|_t<04>|_i|_d|_d|_d|_ t
|_ d|_ t i<00>|_t<0F>|_|<00>dt<12><00>|<00>dt<12><00>dS)NFTzhttps://zhttp://)r%r]r<>rwrr<>r<>rprsrurrOrQrrRrr<><00>mountr<00>rUr:r:r><00>__init__<5F>s 
zSession.__init__r/cCs|Sr9r:r<>r:r:r><00> __enter__<5F>szSession.__enter__<5F>argsr cGs |<00><00>dSr9)r<>)rUr<>r:r:r><00>__exit__<5F>s zSession.__exit__rSr rc Cs<>td|j<01>}tt|j<03>}|jpi}t|tj<07>st|<04>}t t t
<EFBFBD>|j<04>|<04>}|j }|j r4|s4|j s4t |<02>}t<0E>}|j|<03><10>||j|j|jt|j|jtd<02>t|j|j<17>t||j <0B>|t|j|j<19>d<03>
|S)a<>Constructs a :class:`PreparedRequest <PreparedRequest>` for
transmission and returns it. The :class:`PreparedRequest` has settings
merged from the :class:`Request <Request>` instance and those of the
:class:`Session`.
:param request: :class:`Request` instance to prepare with this
session's settings.
:rtype: requests.PreparedRequest
<20>
_t.UriType)r6)
r<EFBFBD>r<><00>files<65>data<74>jsonr]r<>r<>rRr<>)r
r<>rar<>rRr@rr.rrrr<>rQr(r<00>prepare<72>upperr<72>r<>r<>rFr]r#r<>rLr<>)rUrSr<>r<>rR<00>merged_cookiesr<73><00>pr:r:r><00>prepare_request<73>s6

 <04>
<04> 
 <06>zSession.prepare_requestNTr<54>rar<>r<><00> _t.ParamsTyper<65><00> _t.DataType<70>_t.HeadersType<70>5RequestsCookieJar | CookieJar | dict[str, str] | Noner<65><00> _t.FilesTyperqrrr<>rx<00>_t.HooksInputType | None<6E> bool | None<6E>_t.VerifyType | Noner<65><00> _t.JsonTyper!c Cs<>t|t<01>r
|<02>d<01>}t|<01><04>||||pi||pi||| d<02>
}|<00>|<11>}t|<12>s)J<00>| p,i} |<00>|j| | ||<0F>}| |
d<03>}|<14> |<13>|j
|fi|<14><01>}|S)a
Constructs a :class:`Request <Request>`, prepares it and sends it.
Returns :class:`Response <Response>` object.
:param method: method for the new :class:`Request` object.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary or bytes to be sent in the query
string for the :class:`Request`.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) json to send in the body of the
:class:`Request`.
:param headers: (optional) Dictionary of HTTP Headers to send with the
:class:`Request`.
:param cookies: (optional) Dict or CookieJar object to send with the
:class:`Request`.
:param files: (optional) Dictionary of ``'filename': file-like-objects``
for multipart encoding upload.
:param auth: (optional) Auth tuple or callable to enable
Basic/Digest/Custom HTTP Auth.
:param timeout: (optional) How many seconds to wait for the server to send
data before giving up, as a float, or a :ref:`(connect timeout,
read timeout) <timeouts>` tuple.
:type timeout: float or tuple
:param allow_redirects: (optional) Set to True by default.
:type allow_redirects: bool
:param proxies: (optional) Dictionary mapping protocol or protocol and
hostname to the URL of the proxy.
:param hooks: (optional) Dictionary mapping hook name to one event or
list of events, event must be callable.
:param stream: (optional) whether to immediately download the response
content. Defaults to ``False``.
:param verify: (optional) Either a boolean, in which case it controls whether we verify
the server's TLS certificate, or a string, in which case it must be a path
to a CA bundle to use. Defaults to ``True``. When set to
``False``, requests will accept any TLS certificate presented by
the server, and will ignore hostname mismatches and/or expired
certificates, which will make your application vulnerable to
man-in-the-middle (MitM) attacks. Setting verify to ``False``
may be useful during local development or testing.
:param cert: (optional) if String, path to ssl client cert file (.pem).
If Tuple, ('cert', 'key') pair.
:rtype: requests.Response
zutf-8)
r<EFBFBD>r<>r]r<>r<>r<>r<>r<>rRr<>)rqr<>) r@<00>bytes<65>decoder r<>r<>r<><00>merge_environment_settingsr<73>rArV)rUr<>r<>r<>r<>r]rRr<>r<>rqr<>rwr<>rprsrur<>ro<00>prep<65>settings<67> send_kwargsrWr:r:r>rS-s4
>
<06>
 <04><06>
zSession.requestrT<00>Unpack[_t.GetKwargs]cKs$|<03>dd<02>|jd|fd|i|<03><01>S)aiSends a GET request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r<>Tr<54>r<><00><02>
setdefaultrS)rUr<>r<>rTr:r:r>rK<00>s z Session.get<65>Unpack[_t.RequestKwargs]cK<01> |<02>dd<02>|jd|fi|<02><01>S)z<>Sends a OPTIONS request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r<>T<>OPTIONSr<53><00>rUr<>rTr:r:r><00>options<6E><00> zSession.optionscKr<>)z<>Sends a HEAD request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r<>Fr<46>r<>r<>r:r:r><00>head<61>r<>z Session.head<61>Unpack[_t.PostKwargs]cKs|jd|f||d<02>|<04><01>S)a<>Sends a POST request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) json to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
r<>)r<>r<><00>rS)rUr<>r<>r<>rTr:r:r><00>post<73>sz Session.post<73>Unpack[_t.DataKwargs]cK<01>|jd|fd|i|<03><01>S)auSends a PUT request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
<20>PUTr<54>r<><00>rUr<>r<>rTr:r:r><00>put<75><00> z Session.putcKr<>)awSends a PATCH request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
<20>PATCHr<48>r<>r<>r:r:r><00>patch<63>r<>z Session.patchcKs|jd|fi|<02><01>S)z<>Sends a DELETE request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:rtype: requests.Response
<20>DELETEr<45>r<>r:r:r><00>delete<74>szSession.deletec Ks<>|<02>d|j<01>|<02>d|j<02>|<02>d|j<03>d|vr#t||j|j<06>|d<t|t<08>r,t d<05><01>t
|<01>s2J<00>|<02> dd<07>}|<02> d<01>}|j }|j|jd<08>}t<10>}|j|fi|<02><01>}t<10>|} t| d <09>|_td
||fi|<02><01>}|jrz|jD] }
t|j|
j|
j<19>qnt|j||j<19>|r<>|j||fi|<02><01>} d d <0C>| D<00>} ng} | r<>| <0C>d |<08>| <0C> <0B>}| |_|s<>zt|j||fddi|<02><01><01>|_Wn ty<>Ynw|s<>|j|S)zISend a given PreparedRequest.
:rtype: requests.Response
rprsrurwz#You can only send PreparedRequests.r<>T)r<>)<01>secondsrJcSsg|]}|<01>qSr:r:)r;rWr:r:r>r?%sz Session.send.<locals>.<listcomp>rry) r<>rprsrur*rwrQr@r <00>
ValueErrorr<EFBFBD>r<>rKr<><00> get_adapterr<72><00>preferred_clockrVr<00>elapsedrr<>rrRrSr<>r<><00>insert<72>next<78>_next<78> StopIterationr<6E>) rUrSrTr<>rpr<><00>adapter<65>start<72>rrrW<00>genr<6E>r:r:r>rV<00>sP
  

 
 
<EFBFBD> <02>z Session.send<6E>dict[str, Any]c
Cs<>|jr=|dur |<02>d<02>nd}t||d<03>}|dur'|<07><03>D]
\}} |<02>|| <09>q|dus/|dur=tj<06>d<05>p<tj<06>d<06>p<|}t||j<08>}t||j <09>}t||j
<EFBFBD>}t||j <0B>}||||d<07>S)z^
Check the environment and merge it with some settings.
:rtype: dict
N<>no_proxy)r T<>REQUESTS_CA_BUNDLE<4C>CURL_CA_BUNDLE)rwrprsru) rQrKr'rBr<><00>os<6F>environrFrwrprsru)
rUr<>rwrprsrur <00> env_proxiesr<r=r:r:r>r<>?s"  
<02><02>    z"Session.merge_environment_settingsr2cCs<|j<00><01>D]\}}|<01><02><00>|<02><02><00>r|Sqtd|<01><02><02><01>)z~
Returns the appropriate connection adapter for the given URL.
:rtype: requests.adapters.BaseAdapter
z&No connection adapters were found for )r<>rB<00>lowerr<72>r)rUr<><00>prefixrr:r:r>r<>fs
<02>zSession.get_adaptercCs|j<00><01>D]}|<01><02>qdS)z+Closes all adapters and as such the sessionN)r<><00>valuesr<73>)rUr=r:r:r>r<>ss
<04>z Session.closerrcs>||j<00><<00>fdd<02>|jD<00>}|D] }|j<00>|<04>|j|<qdS)zwRegisters a connection adapter to a prefix.
Adapters are sorted in descending order by prefix length.
cs g|] }t|<01>t<00><00>kr|<01>qSr:)r<>)r;r<<00>rr:r>r?~s z!Session.mount.<locals>.<listcomp>N)r<>r<>)rUrr<00> keys_to_moverEr:rr>r<>xs
<04>z Session.mountcs<00>fdd<02><08>jD<00>}|S)Ncsi|] }|t<00>|d<00><03>qSr9)<01>getattr)r;<00>attrr<72>r:r><00>
<dictcomp><3E>sz(Session.__getstate__.<locals>.<dictcomp>)r<>)rU<00>stater:r<>r><00> __getstate__<5F>szSession.__getstate__rcCs"|<01><00>D]
\}}t|||<03>qdSr9)rB<00>setattr)rUrr<00>valuer:r:r><00> __setstate__<5F>s<04>zSession.__setstate__)r8r<>)r8r/)r<>r r8r<>)rSr r8r)NNNNNNNTNNNNNN)"r<>rar<>r<>r<>r<>r<>r<>r]r<>rRr<>r<>r<>r<>r<>rqrrr<>rPrwrxr<>r<>rpr<>rsr<>rurvr<>r<>r8r!r9)r<>r<>r<>r<>rTr<>r8r!)r<>r<>rTr<>r8r!r<>)
r<EFBFBD>r<>r<>r<>r<>r<>rTr<>r8r!)r<>r<>r<>r<>rTr<>r8r!r<>) r<>rarwrxrpr<>rsr<>rurvr8r
)r<>rar8r2)rrarr2r8r<>)r8r
)rr
r8r<>)r<>r<>r<><00>__doc__r<5F>r<>r<>r<>r<>r<>rSrKr<>r<>r<>r<>r<>r<>rVr<>r<>r<>r<>rrr:r:r:r>r<><00>sj


?

2 <0C>e <0C>

 <0C> <0C> <0C>

O
'

r<>cCst<00>S)aZ
Returns a :class:`Session` for context-management.
.. deprecated:: 1.0.0
This method has been deprecated since version 1.0.0 and is only kept for
backwards compatibility. New code should use :class:`~requests.sessions.Session`
to create a session. This may be removed at a future date.
:rtype: Session
)r<>r:r:r:r><00>session<6F>s r)r4r r5r r6r7r8r )rGrHrIrHr6r7r8rH)r8r<>)Qr<00>
__future__rr<00>sys<79>time<6D> collectionsr<00>collections.abcrrr<00>datetimer<00>typingrr r
<00>_internal_utilsr r1r r<>r<>rr<>r<00>compatrrrrRrrrr<00>
exceptionsrrrrr<>rr<00>modelsrrrr r!<00> status_codesr"<00>
structuresr#<00>utilsr$r%r&r'r(r)r*r+r,r-<00>http.cookiejarr.<00>typing_extensionsr/r0r~<00>_tr2<00>platform<72> perf_counterrrFrLrMr<>rr:r:r:r><00><module>sT         0   
 <0C># <0C>