
    jڅ                    X   S r SSKJr  SSKrSSKrSSKrSSKJr  SSKJ	r	J
r
Jr  SSKJr  SSKJrJrJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJrJrJr  SSKJ r J!r!J"r"J#r#  SSK$J%r%J&r&J'r'J(r(  SSK)J*r*J+r+  SSK,J-r-J.r.J/r/J0r0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@  \(       a  SSKAJBrB  SSKCJDrDJErE  SSKFJrG  SSKJHrH  \R                  S:X  a  \R                  rKO\R
                  rK\4       S!S jjrL\4       S"S jjrM " S S5      rN " S S\N5      rOS#S  jrPg)$z
requests.sessions
~~~~~~~~~~~~~~~~~

This module provides a Session object to manage and persist settings across
requests (cookies, auth, proxies).
    )annotationsN)OrderedDict)	GeneratorMappingMutableMapping)	timedelta)TYPE_CHECKINGAnycast   )to_native_string)is_prepared)HTTPAdapter)_basic_auth_str)	cookieliburljoinurlparse)RequestsCookieJarcookiejar_from_dictextract_cookies_to_jarmerge_cookies)ChunkedEncodingErrorContentDecodingErrorInvalidSchemaTooManyRedirects)default_hooksdispatch_hook)DEFAULT_REDIRECT_LIMITREDIRECT_STATIPreparedRequestRequestResponse)codes)CaseInsensitiveDict)
DEFAULT_PORTSdefault_headersget_auth_from_urlget_environ_proxiesget_netrc_authrequote_uriresolve_proxiesrewind_bodyshould_bypass_proxiesto_key_val_list)	CookieJar)SelfUnpack)_types)BaseAdapterwin32c                <   Uc  U $ U c  U$ [        U[        5      (       a  [        U [        5      (       d  U $ U" [        U5      5      nUR                  [        U 5      5        UR	                  5        VVs/ s H  u  pEUb  M
  UPM     nnnU H  nX7	 M     U$ s  snnf )zDetermines 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`
)
isinstancer   r.   updateitems)request_settingsession_setting
dict_classmerged_settingkv	none_keyskeys           T/var/www/html/Sattelite-Image/venv/lib/python3.13/site-packages/requests/sessions.pymerge_settingrB   L   s      	?G,,OW1U1U @AN//:; "0!5!5!7E!7v1!7IE  	 Fs   5	BBc                    Ub  UR                  S5      / :X  a  U $ U b  U R                  S5      / :X  a  U$ [        XU5      $ )zProperly merges both requests and session hooks.

This is necessary because when request_hooks == {'response': []}, the
merge breaks Session hooks entirely.
response)getrB   )request_hookssession_hooksr;   s      rA   merge_hooksrH   l   sM      1 1* = C 1 1* = CzBB    c                      \ rS rSr% S\S'   S\S'   S\S'   SS jrSS	 jrSS
 jr      S                   SS jjr      SS jr	      SS jr
      SS jrSrg)SessionRedirectMixin   intmax_redirectsbool	trust_envr   cookiesc                    g N )selfrequestkwargss      rA   sendSessionRedirectMixin.send   s    rI   c                ~    UR                   (       a,  UR                  S   nUR                  S5      n[        US5      $ g)z7Receives a Response. Returns a redirect URI or ``None``locationlatin1utf8N)is_redirectheadersencoder   )rU   respr[   s      rA   get_redirect_target(SessionRedirectMixin.get_redirect_target   s;     ||J/H  x0H#Hf55rI   c                   [        U5      n[        U5      nUR                  UR                  :w  a  gUR                  S:X  a1  UR                  S;   a!  UR                  S:X  a  UR                  S;   a  gUR                  UR                  :g  nUR                  UR                  :g  n[        R
                  " UR                  S5      S4nU(       d!  UR                  U;   a  UR                  U;   a  gU=(       d    U$ )zFDecide whether Authorization header should be removed when redirectingThttp)P   Nhttps)i  NFN)r   hostnameschemeportr%   rE   )rU   old_urlnew_url
old_parsed
new_parsedchanged_portchanged_schemedefault_ports           rA   should_strip_auth&SessionRedirectMixin.should_strip_auth   s    g&
g&
*"5"55 ':-!!W,;. "*//9#**j.?.??%))**;*;TBDI</</ -~-rI   Nc	           
   +  (  #    / n
U R                  U5      n[        UR                  5      R                  nU(       Ga  UR	                  5       nU
SS Ul        U
R                  U5         UR                    [        UR
                  5      U R                  :  a  [        SU R                   S3US9eUR!                  5         UR#                  S5      (       a;  [        UR                  5      nSR%                  ['        UR(                  5      U/5      n[        U5      nUR                  S	:X  a  U(       a  UR+                  US
9nOUR                  (       a  UR                  nUR-                  5       nUR.                  (       d   [1        UR                  [3        U5      5      nO[3        U5      n['        U5      Ul        U R5                  X5        UR6                  [8        R:                  [8        R<                  4;  a.  SnU H  nUR>                  RA                  US5        M!     SUl!        UR>                  nURA                  SS5        [E        SURF                  5      n[I        UX!R                  5        [K        UU RL                  5        URO                  U5        U RQ                  X5      nU RS                  X5        URT                  SL=(       a    SU;   =(       d    SU;   nU(       a  [W        U5        UnU(       a  Uv   OOU RX                  " U4UUUUUSS.U	D6n[I        U RL                  XR                  5        U R                  U5      nUv   U(       a  GM  gg! [        [        [        4 a    UR                  R                  SS9   GNf = f7f)zBReceives a Response. Returns a generator of Responses or Requests.NF)decode_contentz	Exceeded z redirects.)rD   z//: )fragment)Content-LengthzContent-TypeTransfer-EncodingCookier/   ry   rz   )streamtimeoutverifycertproxiesallow_redirects)-rb   r   urlrx   copyhistoryappendcontentr   r   RuntimeErrorrawreadlenrN   r   close
startswithjoinr   ri   _replacegeturlnetlocr   r*   rebuild_methodstatus_coder#   temporary_redirectpermanent_redirectr_   popbodyr   _cookiesr   r   rQ   prepare_cookiesrebuild_proxiesrebuild_auth_body_positionr,   rX   )rU   ra   reqr|   r}   r~   r   r   yield_requestsadapter_kwargshistr   previous_fragmentprepared_requestparsed_rurlparsedpurged_headersheaderr_   
cookie_jar
rewindables                        rA   resolve_redirects&SessionRedirectMixin.resolve_redirects   s!      "&&t,$SWW-66"xxz  7DLKK4 4<< D$6$66& 2 23;?$ 
 JJL ~~d##&txx0hh 01C1C DcJK c]F"$):2CD$*OO!--/C
 ==dhhC(89!#&#3C#8  07 ((((( 
 "Y,F$,,00> -(, %&..GKK$'
 k+;+D+DEJ":sHH=*dll3,,Z8 **+;EG.5
 *88D  G+M/Bg/M 
 ,- #C	yy	!#!#$)	 %	 't||5ExxP ..t4
O c )*>M 4U34s1   A&N)M 5K#NN.NNNNc                P   UR                   n[        U5      (       d   e[        U5      (       d   eUR                  nUR                  nUR                  nSU;   a  U R	                  XV5      (       a  US	 U R
                  (       a  [        U5      OSnUb  UR                  U5        gg)zWhen 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.
AuthorizationN)rV   _is_preparedr_   r   rr   rP   r)   prepare_auth)rU   r   rD   original_requestr_   original_urlr   new_auths           rA   r   !SessionRedirectMixin.rebuild_auth5  s     $++,----,----"**'++""g%$*@*@*S*S ( +/..>#&d))(3  rI   c                j   [        U5      (       d   eUR                  n[        UR                  5      R                  n[        XU R                  5      nSU;   a  US	  [        XT   5      u  pgUR                  S5      (       d  U(       a  U(       a  [        Xg5      US'   U$ ! [         a    Su  pg NDf = f)ap  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
zProxy-AuthorizationNNrg   )r   r_   r   r   ri   r+   rP   r'   KeyErrorr   r   )rU   r   r   r_   ri   new_proxiesusernamepasswords           rA   r   $SessionRedirectMixin.rebuild_proxiesN  s      ,----"***../66%&6P G+-.	,!2;3F!GH   ))h8-<X-PG)*  	,!+Hh	,s   B! !B21B2c                   UR                   nUR                  [        R                  :X  a  US:w  a  SnUR                  [        R                  :X  a  US:w  a  SnUR                  [        R
                  :X  a  US:X  a  SnX1l         g)zrWhen being redirected we may want to change the method of the request
based on certain specs or browser behavior.
HEADGETPOSTN)methodr   r#   	see_otherfoundmoved)rU   r   rD   r   s       rA   r   #SessionRedirectMixin.rebuild_methodr  su     "(( 5??2v7GF 5;;.6V3CF 5;;.6V3CF"(rI   rT   rV   r    rW   r
   returnr"   )ra   r"   r   z
str | None)rk   strrl   r   r   rO   )FNTNNF)ra   r"   r   r    r|   rO   r}   _t.TimeoutTyper~   _t.VerifyTyper   _t.CertTyper   dict[str, str] | Noner   rO   r   r
   r   zGenerator[Response, None, None])r   r    rD   r"   r   None)r   r    r   r   r   dict[str, str])__name__
__module____qualname____firstlineno____annotations__rX   rb   rr   r   r   r   r   __static_attributes__rT   rI   rA   rK   rK      s   OL(.H "& $ )-$yy y 	y
  y y y 'y y y 
)yv4 /4;C4	42")" '" 
	"H) /);C)	)rI   rK   c                  2   \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   / SQrS\S'   S2S jrS3S jrS4S jr	S5S  jr
              S6                                 S7S" jjr S8       S9S# jjrS:S$ jrS:S% jr  S;         S<S& jjr S8       S=S' jjr S8       S=S( jjrS:S) jrS>S* jr            S?S+ jrS@S, jrS2S- jrSAS. jrSBS/ jrSCS0 jrS1rg!)DSessioni  aT  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]>
zCaseInsensitiveDict[str]r_   _t.AuthTypeauthr   r   zdict[str, list[_t.HookType]]hookszMutableMapping[str, Any]paramsrO   r|   r   r~   r   r   rM   rN   rP   r   rQ   z MutableMapping[str, BaseAdapter]adapters)r_   rQ   r   r   r   r   r~   r   r   r|   rP   rN   z	list[str]	__attrs__c                ^   [        5       U l        S U l        0 U l        [	        5       U l        0 U l        SU l        SU l        S U l	        [        U l        SU l        [        0 5      U l        [        5       U l        U R#                  S[%        5       5        U R#                  S[%        5       5        g )NFTzhttps://zhttp://)r&   r_   r   r   r   r   r   r|   r~   r   r   rN   rP   r   rQ   r   r   mountr   rU   s    rA   __init__Session.__init__  s     '( 	
  #_

    	 4  +2. $

:{}-

9km,rI   c                    U $ rS   rT   r   s    rA   	__enter__Session.__enter__  s    rI   c                $    U R                  5         g rS   )r   )rU   argss     rA   __exit__Session.__exit__  s    

rI   c                0   [        SUR                  5      n[        [        UR                  5      nUR                  =(       d    0 n[        U[        R                  5      (       d  [        U5      n[        [        [        5       U R                  5      U5      nUR                  nU R                  (       a#  U(       d  U R                  (       d  [        U5      n[        5       nUR                  UR!                  5       UUR"                  UR$                  UR&                  [)        UR*                  U R*                  [,        S9[)        UR.                  U R.                  5      [)        X`R                  5      U[1        UR2                  U R2                  5      S9
  U$ )aS  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

_t.UriType)r;   )
r   r   filesdatajsonr_   r   r   rQ   r   )r   r   r   r   rQ   r6   r   r/   r   r   r   r   rP   r)   r    prepareupperr   r   r   rB   r_   r$   r   rH   r   )rU   rV   r   r   rQ   merged_cookiesr   ps           rA   prepare_requestSession.prepare_request  s#    <-c7>>*//'R '9#6#677)'2G '+-t||<g

 ||>>$tyy!#&D			<<>--!:M !=tYY/"gmmTZZ8 	 	
 rI   Nc                   [        U[        5      (       a  UR                  S5      n[        UR	                  5       UUUU=(       d    0 UU=(       d    0 UUUS9
nU R                  U5      n[        U5      (       d   eU=(       d    0 nU R                  UR                  XX5      nU	U
S.nUR                  U5        U R                  " U40 UD6nU$ )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
zutf-8)
r   r   r_   r   r   r   r   r   rQ   r   )r}   r   )r6   bytesdecoder!   r   r   r   merge_environment_settingsr   r7   rX   )rU   r   r   r   r   r_   rQ   r   r   r}   r   r   r   r|   r~   r   r   r   prepsettingssend_kwargsra   s                         rA   rV   Session.request-  s    | c5!!**W%C <<><R
 ##C(D!!!!-R22HHgv
 .
 	8$yy--rI   c                R    UR                  SS5        U R                  " SU4SU0UD6$ )a9  Sends 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   r   
setdefaultrV   )rU   r   r   rW   s       rA   rE   Session.get  s0     	+T2||E3@v@@@rI   c                N    UR                  SS5        U R                  " SU40 UD6$ )zSends 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   rU   r   rW   s      rA   optionsSession.options  s+     	+T2||Is5f55rI   c                N    UR                  SS5        U R                  " SU40 UD6$ )zSends 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   r   r   s      rA   headSession.head  s+     	+U3||FC2622rI   c                .    U R                   " SU4X#S.UD6$ )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   rV   )rU   r   r   r   rW   s        rA   postSession.post  s    " ||FCHdHHHrI   c                .    U R                   " SU4SU0UD6$ )aE  Sends 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
PUTr   r  rU   r   r   rW   s       rA   putSession.put  s     ||E3<T<V<<rI   c                .    U R                   " SU4SU0UD6$ )aG  Sends 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
PATCHr   r  r
  s       rA   patchSession.patch  s     ||GS>t>v>>rI   c                *    U R                   " SU40 UD6$ )zSends 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
DELETEr  r   s      rA   deleteSession.delete  s     ||Hc4V44rI   c                   UR                  SU R                  5        UR                  SU R                  5        UR                  SU R                  5        SU;  a#  [	        XR
                  U R                  5      US'   [        U[        5      (       a  [        S5      e[        U5      (       d   eUR                  SS5      nUR                  S5      nUR                  nU R                  UR                  S9n[!        5       nUR"                  " U40 UD6n[!        5       U-
  n	[%        U	S	9Ul        [)        S
XX40 UD6nUR*                  (       a>  UR*                   H.  n
[-        U R.                  U
R0                  U
R2                  5        M0     [-        U R.                  XR2                  5        U(       a%  U R4                  " X40 UD6nU V
s/ s H  oPM     nn
O/ nU(       a(  UR7                  SU5        UR                  5       nXl        U(       d$   [9        U R4                  " X4SS0UD65      Ul        U(       d  UR>                    U$ s  sn
f ! [<         a     N&f = f)z9Send a given PreparedRequest.

:rtype: requests.Response
r|   r~   r   r   z#You can only send PreparedRequests.r   T)r   )secondsrD   r   r   ) r   r|   r~   r   r+   r   rP   r6   r!   
ValueErrorr   r   rE   r   get_adapterr   preferred_clockrX   r   elapsedr   r   r   rQ   rV   r   r   insertnext_nextStopIterationr   )rU   rV   rW   r   r|   r   adapterstartrr  ra   genr   s                rA   rX   Session.send  s    	(DKK0(DKK0&$)),F" /t~~ VF9 gw''BCCG$$$$ !**%6=H% ""w{{"3  ! LL+F+ "#e+g.	 *e9&9 99		&t||T\\488L " 	t||Wee< ((>v>C(+,tG,GG NN1a AI **1UdUfU II1 -$ ! s   
I	#I 
IIc                   U R                   (       a  Ub  UR                  S5      OSn[        XS9nUb*  UR                  5        H  u  pUR	                  X5        M     USL d  UcN  [
        R                  R                  S5      =(       d(    [
        R                  R                  S5      =(       d    Un[        X R                  5      n[        X0R                  5      n[        X@R                  5      n[        XPR                  5      nX#XES.$ )zF
Check the environment and merge it with some settings.

:rtype: dict
Nno_proxy)r%  TREQUESTS_CA_BUNDLECURL_CA_BUNDLE)r   r|   r~   r   )rP   rE   r(   r8   r   osenvironrB   r   r|   r~   r   )
rU   r   r   r|   r~   r   r%  env_proxiesr=   r>   s
             rA   r   "Session.merge_environment_settings?  s     >>292Ew{{:.4H-cEK"'--/DA&&q, 0
 ~JJNN#78 zz~~&67   6v{{3v{{3T99-"UUrI   c                    U R                   R                  5        H;  u  p#UR                  5       R                  UR                  5       5      (       d  M9  Us  $    [	        SU< 35      e)zf
Returns the appropriate connection adapter for the given URL.

:rtype: requests.adapters.BaseAdapter
z&No connection adapters were found for )r   r8   lowerr   r   )rU   r   prefixr  s       rA   r  Session.get_adapterf  sT      $}}224OFyy{%%flln55  5
 DSGLMMrI   c                f    U R                   R                  5        H  nUR                  5         M     g)z+Closes all adapters and as such the sessionN)r   valuesr   )rU   r>   s     rA   r   Session.closes  s"    %%'AGGI (rI   c                    X R                   U'   U R                    Vs/ s H  n[        U5      [        U5      :  d  M  UPM!     nnU H+  nU R                   R                  U5      U R                   U'   M-     gs  snf )zgRegisters a connection adapter to a prefix.

Adapters are sorted in descending order by prefix length.
N)r   r   r   )rU   r.  r  r=   keys_to_mover@   s         rA   r   Session.mountx  sd    
 !(f#'==I=aCFS[4H=IC!%!2!23!7DMM#   Js
   A7A7c           	     \    U R                    Vs0 s H  o[        XS 5      _M     nnU$ s  snf rS   )r   getattr)rU   attrstates      rA   __getstate__Session.__getstate__  s/    =A^^L^Twt400^L Ms   )c                N    UR                  5        H  u  p#[        XU5        M     g rS   )r8   setattr)rU   r9  r8  values       rA   __setstate__Session.__setstate__  s     ;;=KDD& )rI   )r   r   r   rQ   r_   r   rN   r   r   r|   rP   r~   )r   r   )r   r0   )r   r
   r   r   )rV   r!   r   r    )NNNNNNNTNNNNNN)"r   r   r   r   r   _t.ParamsTyper   _t.DataTyper_   z Mapping[str, str | bytes] | NonerQ   z5RequestsCookieJar | CookieJar | dict[str, str] | Noner   z_t.FilesTyper   r   r}   r   r   rO   r   r   r   z_t.HooksInputType | Noner|   bool | Noner~   _t.VerifyType | Noner   r   r   _t.JsonTyper   r"   rS   )r   r   r   rA  rW   zUnpack[_t.GetKwargs]r   r"   )r   r   rW   zUnpack[_t.RequestKwargs]r   r"   r   )
r   r   r   rB  r   rE  rW   zUnpack[_t.PostKwargs]r   r"   )r   r   r   rB  rW   zUnpack[_t.DataKwargs]r   r"   r   )r   r   r   r   r|   rC  r~   rD  r   r   r   dict[str, Any])r   r   r   r3   )r.  r   r  r3   r   r   )r   rF  )r9  rF  r   r   )r   r   r   r   __doc__r   r   r   r   r   r   rV   rE   r   r  r  r  r  r  rX   r   r  r   r   r:  r?  r   rT   rI   rA   r   r     s   $ &%
''$$L
O..Iy =-~,d !% 48IM" "& $)-*."'+  #`` ` 	`
 ` 2` G` ` `  ` ` '` (` ` %`  !`" #`$ 
%`J !%AA A '	A
 
A$	6	3 ! 	II I 	I
 (I 
I( 48==%0=CX=	= 48??%0?CX?	?5M^%V%V '%V 	%V
 %%V %V 
%VNN
	8'rI   r   c                     [        5       $ )a>  
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   rT   rI   rA   sessionrI    s     9rI   )r9   r
   r:   r
   r;   typer   r
   )rF   _t.HooksTyperG   rK  r;   rJ  r   rK  )r   r   )QrG  
__future__r   r(  systimecollectionsr   collections.abcr   r   r   datetimer   typingr	   r
   r   _internal_utilsr   r2   r   r   r   r   r   r   compatr   r   r   rQ   r   r   r   r   
exceptionsr   r   r   r   r   r   r   modelsr   r   r    r!   r"   status_codesr#   
structuresr$   utilsr%   r&   r'   r(   r)   r*   r+   r,   r-   r.   http.cookiejarr/   typing_extensionsr0   r1   rw   _tr3   platformperf_counterr  rB   rH   rK   r   rI  rT   rI   rA   <module>r_     s+   # 	 
  # > >  + + - / ! ! 0 0   0    +   (.% <<7''OiiO DO+.<@F #CCC C 	C&I) I)X~'" ~'BrI   