
    mh                        U d 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ZddlZddl	m
Z
 ddl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mZmZmZmZmZmZmZm Z m!Z! ddl"Z"ddl#m$Z$m%Z%m&Z&m'Z' ddl(m)Z) dd	l*m+Z+m,Z,m-Z- dd
l.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZO ddlPmQZQmRZR ddlSmTZTmUZUmVZVmWZWmXZX ddlYmZZZm[Z[m\Z\ ddl]m^Z^m_Z_m`Z`maZambZb ddlcmdZd ddlemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZm ddl,mnZnmoZompZpmqZq ddlrmsZsmtZtmuZu ddlvmwZwmxZx ddlymzZzm{Z{m|Z|m}Z}m~Z~ dZerddlmZ ndZej        dk    rerddlmZ  G d ded          Z e"j        ddd            G d! d"                      Z ed#d$%          Zee         ed&<    eh d'          Z e d(eUe[          ZeeUegef         Z G d) d*          Z G d+ d,eeeef         ee                   ZeeU         Zee[         Z G d- d.          Zej        dk    r7er5e,j        ddd/d0ed1e~d2eod3ee_         d4eej                 d5ee         d6efd7ZdS e,j        ddd/d0ed1e~d2eod3ee_         d4eej                 d5ed6efd8ZdS )9zHTTP Client for asyncio.    N)suppress)TracebackType)TYPE_CHECKINGAny	AwaitableCallable	CoroutineFinal	FrozenSet	GeneratorGenericIterableListMappingOptionalSequenceSetTupleType	TypedDictTypeVarUnion)CIMultiDict	MultiDictMultiDictProxyistr)URL   )hdrshttppayload)WebSocketDataQueue)AbstractCookieJar)ClientConnectionErrorClientConnectionResetErrorClientConnectorCertificateErrorClientConnectorDNSErrorClientConnectorErrorClientConnectorSSLErrorClientErrorClientHttpProxyErrorClientOSErrorClientPayloadErrorClientProxyConnectionErrorClientResponseErrorClientSSLErrorConnectionTimeoutErrorContentTypeError
InvalidURLInvalidUrlClientErrorInvalidUrlRedirectClientErrorNonHttpUrlClientErrorNonHttpUrlRedirectClientErrorRedirectClientErrorServerConnectionErrorServerDisconnectedErrorServerFingerprintMismatchServerTimeoutErrorSocketTimeoutErrorTooManyRedirectsWSMessageTypeErrorWSServerHandshakeError)ClientMiddlewareTypebuild_client_middlewares)ClientRequestClientResponseFingerprintRequestInfo_merge_ssl_params)DEFAULT_WS_CLIENT_TIMEOUTClientWebSocketResponseClientWSTimeout)HTTP_AND_EMPTY_SCHEMA_SETBaseConnectorNamedPipeConnectorTCPConnectorUnixConnector)	CookieJar)	_SENTINELDEBUGEMPTY_BODY_METHODS	BasicAuthTimeoutHandleget_env_proxy_for_urlsentinelstrip_auth_from_url)WS_KEYHttpVersionWebSocketReaderWebSocketWriter)WSHandshakeError
ws_ext_genws_ext_parse)TraceTraceConfig)JSONEncoderLooseCookiesLooseHeadersQueryStrOrURL)*r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r8   r6   r5   r7   r9   r:   r;   r<   r=   r>   r@   rC   rD   rE   rF   rL   rN   rO   rM   rI   ClientSessionClientTimeoutrJ   requestr?   )
SSLContext      )Unpackc                   |   e Zd ZU eed<   eed<   eed<   eedf         ed<   eedf         ed<   ee	e
         df         ed<   eedf         ed<   eed	<   eed
<   ee
edf         ed<   eedf         ed<   eed<   edeeeged         f         f         ed<   eed<   eedf         ed<   eedf         ed<   ded<   eeeef         ed<   ee
df         ed<   eedf         ed<   eee
ef         df         ed<   eedf         ed<   eedf         ed<   eedf         ed<   eedf         ed<   eee                  ed<   dS )_RequestOptionsparamsdatajsonNcookiesheadersskip_auto_headersauthallow_redirectsmax_redirectscompresschunked	expect100raise_for_statusread_until_eofproxy
proxy_authz%Union[ClientTimeout, _SENTINEL, None]timeoutsslserver_hostnameproxy_headerstrace_request_ctxread_bufsizeauto_decompressmax_line_sizemax_field_sizemiddlewares)__name__
__module____qualname__re   __annotations__r   r   rc   rd   r   strrT   boolintr   rD   r   rf   rj   rE   r   r   r   rA        9/usr/local/lib/python3.11/site-packages/aiohttp/client.pyrp   rp      s        MMM
III
III<%&&&&<%&&&&Xc]D01111
	4
    CtO$$$$4:OOOD$.1A9T?1R(SSTTTT4    io&&&&4444	z4,	----39%%%%t+,,,,WS#X.45555T	""""4:&&&&d#####t)$$$$(#78999999r   rp   FtotalT)auto_attribsfrozenslotsc                       e Zd ZU dZee         ed<   dZee         ed<   dZee         ed<   dZ	ee         ed<   dZ
eed<   dS )rh   Nr   connect	sock_readsock_connect   ceil_threshold)r   r   r   r   r   floatr   r   r   r   r   r   r   r   rh   rh      sr         !E8E?!!!#GXe_###!%Ix%%%$(L(5/(((NEr   rh   i,     )r   r   DEFAULT_TIMEOUT>   GETPUTHEADTRACEDELETEOPTIONS_RetTypec            A           e Zd ZU dZ eg d          ZdZeej	                 e
d<   dZee         e
d<   	 dddddddddej        eeeej        dddededddddd	d	d
 deddee         dee         deej                 dee         dee         dee         dee         deee                  dee         dedee         dee         dee         dedee          de!de"e!e#ege$d         f         f         de"e%e&f         dee%         d e"e'e(f         d!e!d"e!d#e!d$ee)e*                  d%e+d&e+d'e+d(e,d)e-e.         d*e"e&de%f         d+df>d,Z/d-ed          d+dfd.Z0e1rd/ed0e2d+df fd1Z3e4fd2e2d+dfd3Z5e6j7        d4k    re8rd5ed6ed7e9e:         d+d8fd9Z;nd5ed6ed7e2d+d8fd:Z;d;ed+e<fd<Z=ddddddddd=dddddddeddddddddddddd>d5ed;ed?e>d@e2dAe2dee         dee         deee                  dee         dBe!dCe+dDe"ee!df         dEee!         dFe!de"de!e#ege$d         f         f         dGe!dee         dee         d e"e(e&f         dHee!         dIee?         dJee@         dKe"e@e!eAf         dLee         dMee         dNeeBee2f                  d%ee+         d!ee!         d&ee+         d'ee+         d)ee-e.                  d+ef@dOZCeDjE        dedddddddddddddddddPdQdRd6ed5edSee         d e"eFe&f         dTee%         dUe!dVe!dWee%         dee         dXee         d?e>dee         dee         dee         dKe"e@e!eAf         dHee!         dIee?         dJee@         dLee         dMee         dDe+dYe+d+dZf.d[ZGeDjE        dedddddddddddddddddPdQdRd6ed5edSee         d e"eFe&f         dTee%         dUe!dVe!dWee%         dee         dXee         d?e>dee         dee         dee         dKe"e@e!eAf         dHee!         dIee?         dJee@         dLee         dMee         dDe+dYe+d+ef.d\ZHdee         d+d]fd^ZIe6j7        d4k    rse8rqd6ed7e9e:         d+d8fd_ZJd6ed7e9e:         d+d8fd`ZKd6ed7e9e:         d+d8fdaZLd6ed7e9e:         d+d8fdbZMd6ed7e9e:         d+d8fdcZNd6ed7e9e:         d+d8fddZOd6ed7e9e:         d+d8fdeZPndddfd6edBe!d7e2d+d8fdgZJddfd6edBe!d7e2d+d8fdhZKddfd6edBe!d7e2d+d8fdiZLddjd6ed@e2d7e2d+d8fdkZMddjd6ed@e2d7e2d+d8fdlZNddjd6ed@e2d7e2d+d8fdmZOd6ed7e2d+d8fdnZPddoZQeRd+e!fdp            ZSeRd+ee         fdq            ZTeRd+e fdr            ZUeRd+eVe+e+f         fds            ZWeRd+e!fdt            ZXeXjY        d0e!d+dfdu            ZXeRd+ej        fdv            ZZeRd+e(fdw            Z[eRddx            Z\eRd+e]e^         fdy            Z_eRd+ee         fdz            Z`eRd+efd{            ZaeRd+e!fd|            ZbeRd+e"e!e#ege$d         f         f         fd}            ZceRd+e!fd~            ZdeRd+e!fd            ZeeRd+e)e*         fd            ZfddZgddZhdeeei                  deei         deej         d+dfdZkddZldeeei                  deei         deej         d+dfdZm xZnS )rg   z/First-class interface for making HTTP requests.)	_base_url_base_url_origin_source_traceback
_connector_loop_cookie_jar_connector_owner_default_auth_version_json_serialize_requote_redirect_url_timeout_raise_for_status_auto_decompress
_trust_env_default_headers_skip_auto_headers_request_class_response_class_ws_response_class_trace_configs_read_bufsize_max_line_size_max_field_size_resolve_charset_default_proxy_default_proxy_auth_retry_connection_middlewaresrequote_redirect_urlNr   r   TF   i  c                     dS )Nzutf-8r   )rbs     r   <lambda>zClientSession.<lambda>0  s    7 r   r   )	connectorlooprt   ru   r   r   rv   rw   json_serializerequest_classresponse_classws_response_classversion
cookie_jarconnector_ownerr}   read_timeoutconn_timeoutr   r   	trust_envr   trace_configsr   r   r   fallback_charset_resolverr   ssl_shutdown_timeoutbase_urlr   r   rt   ru   r   r   rv   rw   r   r   r   r   r   r   r   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   returnc                x   d | _         |	||j        }|pt          j                    }|t	          |t
                    r%|| _        |d n|                                | _        nHt          |          | _        | j                                        | _        | j        j	        s
J d            | j        .| j        j
                            d          st          d          |t          u s|t          | _        |t          ur<t!          j        dt$          d           t'          j        | j        |          | _        |<t'          j        | j        |          | _        t!          j        d	t$          d           net	          |t*                    s t          d
t-          |           d          || _        |t          urt          d          |t          d          |t          urt!          j        dt$          d           |t/          ||          }|j        |urt1          d          || _        |                                r+t5          j        t9          j        d                    | _        |t?          |          }|| _         |r| j         !                    |           || _         || _"        |	| _#        || _$        |
| _%        || _&        || _'        || _(        || _)        || _*        || _+        || _,        |rt[          |          }nt[                      }|| _.        |t_          d |D                       | _0        nt_                      | _0        || _1        || _2        || _3        |pg | _4        | j4        D ]} | 5                                 || _6        || _7        || _8        d| _9        || _:        d S )Nz Only absolute URLs are supported/z!base_url must have a trailing '/'z8read_timeout is deprecated, use timeout argument instead   
stacklevelr   )r   z8conn_timeout is deprecated, use timeout argument insteadztimeout parameter cannot be of z. type, please use 'timeout=ClientTimeout(...)'zGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectzSThe ssl_shutdown_timeout parameter is deprecated and will be removed in aiohttp 4.0)r   r   z0Session and connector has to use same event loopr   r   c              3   4   K   | ]}t          |          V  d S Nr   .0is     r   	<genexpr>z)ClientSession.__init__.<locals>.<genexpr>  s(      /S/SAQ/S/S/S/S/S/Sr   T);r   r   asyncioget_running_loop
isinstancer   r   originr   absolutepathendswith
ValueErrorrW   r   r   warningswarnDeprecationWarningattrevolverh   typerN   RuntimeError	get_debug	tracebackextract_stacksys	_getframer   rP   r   update_cookiesr   r   r   r   r   r   r   r   r   r   r   r   r   	frozensetr   r   r   r   r   freezer   r   r   r   r   )!selfr   r   r   rt   ru   r   r   rv   rw   r   r   r   r   r   r   r   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   real_headerstrace_configs!                                    r   __init__zClientSession.__init__  s   L 48<$ 1w/11z(C88,4DN,4,<DD(//BSBSD!! ]]DN$(N$9$9$;$;D!>*NN,NNN*>%dn.A.J.J3.O.O%@AAAh'/+DM8++N&    
 !%DM N N N' $DM< P P PN&     g}55  >d7mm > > >   $DM8++ #  
 ' &    x//Me"    $0D  I ?$&&QRRR
>> 	O%.%<S]1=M=M%N%ND""---J% 	5++G444# /!-!1 /#%9")+-  	)-8-A-ALL&==L2>(&//S/SAR/S/S/S&S&SD##&/kkD#+-"3+1r / 	" 	"L!!!! 9##- '+'r   clsc                 n    t          j        d                    | j                  t          d           d S )Nz6Inheritance class {} from ClientSession is discouragedr   r   )r   r   formatr   r   )r  s    r   __init_subclass__zClientSession.__init_subclass__  s?    #VCL11		
 	
 	
 	
 	
 	
r   namevalc                     || j         vr/t          j        d                    |          t          d           t                                          ||           d S )Nz8Setting custom ClientSession.{} attribute is discouragedr   r   )ATTRSr   r   r	  r   super__setattr__)r  r  r  	__class__s      r   r  zClientSession.__setattr__  sa    4:%%%%+VD\\& 	    GGc*****r   	_warningsc                     | j         sMd| i} |j        d| t          fi | | dd}| j        
| j        |d<   | j                            |           d S d S )NsourcezUnclosed client session zUnclosed client session)client_sessionmessagesource_traceback)closedr   ResourceWarningr   r   call_exception_handler)r  r  kwargscontexts       r   __del__zClientSession.__del__  s    { 	7%FIN3433_ HN   *.:STTG%1.2.D*+J--g66666	7 	7r   rk   methodurlr  _RequestContextManagerc                     d S r   r   r  r  r  r  s       r   ri   zClientSession.request  s	    
 (+sr   c                 :    t           | j        ||fi |          S )zPerform HTTP request.)r   _requestr"  s       r   ri   zClientSession.request  s(     *-$-*N*Nv*N*NOOOr   
str_or_urlc                 t    t          |          }| j        r!|j        s| j                            |          S |S r   )r   r   r   join)r  r%  r  s      r   
_build_urlzClientSession._build_url  s;    *oo> 	,#, 	,>&&s+++
r   
   )rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   
verify_sslfingerprintssl_contextr   r   r   r   r   r   r   r   r   rq   rr   rs   rx   ry   rz   r{   r|   r~   r*  r+  r,  r   r   r   r   c                   ;<=K    j         rt          d          t          ||||          }||t          d          |t	          j        | j                  }t          |t                    s|t          j
        dt                     d} g }! j        }"|pi }                     |          }	                      |          }#n"# t          $ r}$t          |          |$d }$~$ww xY w j        J |#j         j        j        vrt'          |#          |d |D              j        z  }%n j        r j        }%nd }%| j        }| j        }|d }nH                     |          }	 t/          |          }n"# t          $ r}$t1          |          |$d }$~$ww xY w|t2          u r j        ;n(t          |t6                    st7          |          ;n|;t9           j        ;j        ;j                  }&|&                                 }' j!         j"         j#         j$         fd	 j%        D             ==D ]2}(|(&                    ||#'                    |          |           d {V  3|&(                                <	 <5   j)        o|tT          v })	 tW          |#          \  }#}*|#j,        s| rtZ          nt          }+ |+|#          |!s|	r|*rt          d          |	|!r|*|*}	|	2 j.        r+ j/        r j0        |#1                                k    r j.        }	||	td          j3        |v rt          d           j4        5                    |#          },|[tm           j4        j7                  }-|-8                    |           |-5                    |#          }.|.r|,9                    |.           d }/|t/          |          }/nV j:        rOtw          tx                    5  t{          j>        t~          |#           d {V \  }/}d d d            n# 1 swxY w Y    @                    ||#|||%||,|	|"||| j         jA        |/|< ||nd
||= jB                  }0dt          dt          f; <=f	d}1| jE        n|}2|2rt          |1|2          }3n|1}3	  |3|0           d {V }4n# t          t          t          t          f$ r  t          t          f$ r	 |)rd})Y K t          $ r  t          $ r6}5|5jO        t          |5tz          jP                  r t          |5jQ         |5d }5~5ww xY w|4jR        r% j4        S                    |4jR        |4jT                   |4jU        dv r\|
rY=D ]3}(|(V                    ||#'                    |          ||4           d {V  4| dz  } |!W                    |4           |rh| |k    rb|0jX        |0jX        Y                                 d {V  |4Y                                 t          |!d         j[        t          |!                    |4jU        dk    r|4j]        td          j^        k    s|4jU        dv rb|4j]        td          j_        k    rMtd          j`        }d }|a                    td          jb                  r|c                    td          jb                   n|0jX        }|4jd        a                    td          je                  p#|4jd        a                    td          jf                  }6|6n|4g                                 	 t/          |6 jh                   }7n]# t          $ rP}$|0jX        |0jX        Y                                 d {V  |4Y                                 t[          |6d          |$d }$~$ww xY w|7j        }8|8t          vrI|0jX        |0jX        Y                                 d {V  |4Y                                 t          |6          |8s|#k                    |7          }7	 |71                                }9n]# t          $ rP}:|0jX        |0jX        Y                                 d {V  |4Y                                 t[          |7d          |:d }:~:ww xY w|#1                                |9k    r"d }	|c                    td          j3        d            |7}#i }|4g                                 *	 d d d            n# 1 swxY w Y   |0jX        |0jX        Y                                 d {V  | jl        }|n7t          |          r ||4           d {V  n|r|4n                                 |';|4jo         |4jo        p                    |'jq                   n|'q                                 t          |!          |4_r        =D ]3}(|(s                    ||#'                    |          ||4           d {V  4|4S # t          $ rh}$|&Y                                 |'r|'q                                 d }'=D ]3}(|(u                    ||#'                    |          ||$           d {V  4 d }$~$ww xY w)NzSession is closedz9data and json parameters can not be used at the same time)dumpszChunk size is deprecated #1615r   c                 ,    h | ]}t          |          S r   r   r   s     r   	<setcomp>z)ClientSession._request.<locals>.<setcomp>0  s+       Q  r   r   )r   c           	      Z    g | ]'}t          ||                                         (S ))r   )r`   trace_config_ctx)r   r  r  r   s     r   
<listcomp>z*ClientSession._request.<locals>.<listcomp>`  sP     
 
 
  --@Q-RR 
 
 
r   Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)quote_cookie)rq   ru   rv   rr   rt   rw   r   rz   r{   r|   r   r   r   r   timersessionr   r   r   tracesr   reqr   c                 T  	K   
j         J 	 
j                             | 	           d {V }n/# t          j        $ r}t	          d| j                   |d }~ww xY w|j        J |j                            | j        t          v 	j
        
j         j        	  	         	 |                     |           d {V }	 |                    |           d {V  n## t          $ r |                                  w xY wn## t          $ r |                                  w xY w|S )N)r7  r   zConnection timeout to host )	r5  skip_payloadr~   r   r   r   timeout_ceil_thresholdr   r   )r   r   r   TimeoutErrorr1   r  protocolset_response_paramsr  rS   r   _timeout_ceil_thresholdsendstartBaseExceptionclose)r8  connexcrespr   r   r   r   r~   real_timeoutr  r5  r7  s       r   _connect_and_send_requestz9ClientSession._request.<locals>._connect_and_send_request  s       $:::')-)@)@ #FL *A * * $ $ $ $ $ $DD  '3 ' ' '"8 Gcg G G# ##&''
  $}88899"'),7I)I+9,;)5)?)537?3Z*7+9 : 
 
 
	"),$#7#7#7#7#7#7D&&*jj&6&6 6 6 6 6 6 6 6 6#0 & & & $

 %& !7  - " " " JJLLL!"  $s9   #2 AAA)D C!  D ! DD  D%F)-  .  /  i3  i4  r   rK  )rI  rJ  )encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)vr  r   rG   r   r!   JsonPayloadr   r   r   r   r   r   r   _prepare_headersr(  r4   r   schemeallowed_protocol_schema_setr6   r   r   r   r   r3   rW   r   rh   rU   r   r   r   rA  r   r   r   r   r   send_request_startupdate_queryr5  r   IDEMPOTENT_METHODSrX   raw_hostr5   r   r   r   r   r   AUTHORIZATIONr   filter_cookiesrP   r4  r   loadr   r   LookupErrorr   	to_threadrV   r   r   r   rC   rD   r   rB   r1   r(   r&   r)   r,   r:   r*   OSErrorerrnor<  args_raw_cookie_headersupdate_cookies_from_headersr  statussend_request_redirectappend_bodyrC  r>   request_infotupler  	METH_HEAD	METH_POSTMETH_GETgetCONTENT_LENGTHpopru   LOCATIONURIreleaser   rK   r7   r'  r   callabler}   
connectionadd_callbackcancel_historysend_request_endrB  send_request_exception)>r  r  r%  rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r*  r+  r,  r   r   r   r   r   r   r   r   r   	redirectshistoryr   r  eskip_headerstmhandletraceretry_persistent_connectionauth_from_urlerr_exc_clsall_cookiestmp_cookie_jarreq_cookiesproxy_r8  rH  effective_middlewareshandlerrF  rE  r_urlparsed_redirect_urlrO  redirect_originorigin_val_errrG  r5  r7  s>   `               `         `````                            @@@r   r$  zClientSession._request  s     T ; 	42333ZkJJ 0K   &t43GHHHD'4(( 	PW-@M:<NOOO	(*-2 ''00	;//*--CC 	; 	; 	;'
33:	; ***:T_HHH',,, ( !2  '(LL $ 	 2LLL='E1J= MM 11-@@M/E

 / / / ''Q./ h*.-LLg}55 ',7;;;& J*<;V
 
 
 -L""3O  /M!!1N
 
 
 
 
 !% 3
 
 
  	V 	VE**633C3CF3K3KWUUUUUUUUUU

p	 F F *Kv9K/K ,A)<S)A)A&C< /
  )799!6 $
 *k#... #   (9   ||M4M,  . % !% % 372G3::<<2W2W  $1  + , .'99(-   #'"2"A"A#"F"FK*)2)-)9)F* * * '55g>>>&4&C&CC&H&H& :',,[999,0F(!$U %k22  7>7H 5s8 8 2 2 2 2 2 2.FJ              
 --% '*6! +! '!) '"+!Z'+';$#-# $#&?CC(7&3%"&./ .  C4$$*$$'$$ $$ $$ $$ $$ $$ $$ $$ $$ $$ $$ $$ $$ $$P .9-@))k * - <":57L# # #<@%,WS\\111111 /,7/	    )+BC   6 %:?7$H&   " @ @ @9,CAU1V1V,!+SX6C?@ / (DD 4dh  
 {&???O?%+  E"'"="= &(8(8(@(@'4# #         "Q	t,,,( Y--G-G"y4&)ioo&7&7 7 7 7 7 7 7 7 JJLLL"2 '
 7w# #  !K3..4;$.3P3P K:55$+:W:W%)]F#'D&{{4+>?? A 'D,? @ @ @ $'9D $ 0 0 ? ? !4<CSCS HD D !=! !LLNNN%25 %43M/M3 3 3//  * % % %"y4&)ioo&7&7 7 7 7 7 7 7 7 JJLLL"? % j# # $%%	% "5!;!)BBB"y4&)ioo&7&7 7 7 7 7 7 7 7 JJLLL"?"F"FF!' P25((;N2O2O/	2.A.H.H.J.JOO) 2 2 2"y4&)ioo&7&7 7 7 7 7 7 7 7 JJLLL"? 3 =# # $22	2 ::<<?::#'D#KK(:DAAA1!# MF F F F F F F F F F F F F F FP y$ioo''''''''''#'#9 '*++ (&&t,,,,,,,,,,! (%%''' !?.O00????MMOOO!'NNDM  ,,C,,V44gt          K 	 	 	HHJJJ   22C,,V44gq          	s  ;C 
C0C++C03F 
F"FF"g Ec5$P%c%P)	)c,P)	-A>c,R>=c>2T=0c3T=1T88T==G(c&\>=c>
^A^^A3c`! c!
a;+Aa66a;;Acg c##g &c#'C4g 
i&A#i		ir   i  @ r  	protocolsr   receive_timeout	autocloseautoping	heartbeatrw   r   rq   ru   r   r   r   r*  r+  r,  r   r   rz   max_msg_sizer  r  r  r  r  r   r  _WSRequestContextManagerc                r    t          |                     |||||||||	|
||||||||||||                    S )zInitiate websocket connection.r  )r  _ws_connect)r  r  r  r  r   r  r  r  r  rw   r   rq   ru   r   r   r   r*  r+  r,  r   r   rz   r  s                          r   
ws_connectzClientSession.ws_connect  sp    6 (# /#!#%%'' /+!)-   
 
 	
r   c                
  K   |t           urEt          |t                    r|}n4t          j        dt
          d           t          |          }nt          }|2t          j        dt
          d           t          j        ||          }|t                      }nt          |          }t          j        dt          j        dt          j        d	i}|                                D ]\  }}|                    ||           t!          j        t%          j        d
                    }|                                |t          j        <   |r"d                    |          |t          j        <   |
|
|t          j        <   |rt3          |          }||t          j        <   |t          j        dt
          d           d}t7          ||||          }|                     ||||d|	|||||           d {V }	 |j        dk    r(t=          |j        |j         d|j        |j!                  |j!        "                    t          j        d          #                                dk    r(t=          |j        |j         d|j        |j!                  |j!        "                    t          j        d          #                                dk    r(t=          |j        |j         d|j        |j!                  |j!        "                    t          j$        d          }t!          j        tK          j&        |tN          z             (                                                                          } || k    r(t=          |j        |j         d|j        |j!                  d }!|rTt          j        |j!        v rAd |j!        t          j                 )                    d          D             }"|"D ]
}#|#|v r|#}! nd}$|r|j!        "                    t          j                  }%|%rZ	 tU          |%          \  }}$nJ# tV          $ r9}&t=          |j        |j         |&j,        d         |j        |j!                  |&d }&~&ww xY wd}d}$|j-        }'|'J |'j.        }(|(J |j/        d |(_0        n&|(j0        tc          |j/        |(j0                  |(_0        |'j2        })|)J tg          |(d| j4                  }*|(5                    tm          |*|          |*           to          |(|)d||$          }+| 8                    |*|+|!||||| j4        |||$          S # tr          $ r |:                                  w xY w)Nzeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'r   r   )ws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')
ws_receive	websocketUpgrade13   ,)rz   z+ssl=None is deprecated, please use ssl=TrueTF)	rq   ru   r~   rw   r   r   r   r   r   e   zInvalid response status)r  r_  ru    zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responsec                 6    g | ]}|                                 S r   )strip)r   protos     r   r3  z-ClientSession._ws_connect.<locals>.<listcomp>e  s0     " " " KKMM" " "r   r   r   r   )use_maskrz   
notakeover)r  rz   client_notakeover);rW   r   rJ   r   r   r   rH   r   r   r   r   UPGRADE
CONNECTIONSEC_WEBSOCKET_VERSIONitems
setdefaultbase64	b64encodeosurandomdecodeSEC_WEBSOCKET_KEYr'  SEC_WEBSOCKET_PROTOCOLORIGINr^   SEC_WEBSOCKET_EXTENSIONSrG   ri   r_  r@   rc  rv  ru   rh  lowerSEC_WEBSOCKET_ACCEPThashlibsha1rY   digestsplitr_   r]   r\  ro  r=  r  r   max	transportr"   r   
set_parserr[   r\   r   rB  rC  ),r  r  r  r  r   r  r  r  r  rw   r   rq   ru   r   r   r   r*  r+  r,  r   r   rz   r  
ws_timeoutr  default_headerskeyvaluesec_keyextstrrF  r_keymatchr=  resp_protocolsr  r  compress_hdrsrE  rD  
conn_protor  readerwriters,                                               r   r  zClientSession._ws_connect  s9     4 (""'?33 
?$

> '     -g>>>

2J&M< #    ZOLLLJ?-8]]LL&w//L L+OY&
 *//11 	0 	0JC##C////"2:b>>22/6~~/?/?T+, 	L8;8K8KL45(.L% 	A222F:@L67 ;M="   
 CZkJJ \\  !+' " 
 
 
 
 
 
 
 
s	{c!!,%L5; L    |b117799[HH,%L4; L    |44::<<	II,%L7; L    L$$T%>CCE$W\'F2B%C%C%J%J%L%LMMTTVVE~~,%L8; L    H 	T8DLHH" "!%d.I!J!P!PQT!U!U" " "
 ,  E	))#( *
 J ' $ 0 01N O O  '	#/;M/J/J,**+ # # #4 - L$'HQK#';$(L    ###  !H!&J?D###J))) $,*.
''(4*-):+B+ +
' I((('
E
KKKF!!/&,"G"GPPP$!%  F **
#!", +   	  	 	 	JJLLL	s2   8H U  P, +U  ,
Q/64Q**Q//B,U    U CIMultiDict[str]c                 B   t          | j                  }|rt          |t          t          f          st          |          }t                      }|                                D ]:\  }}||v r|                    ||            |||<   |                    |           ;|S )z3Add default headers and transform it to CIMultiDict)r   r   r   r   r   setr  add)r  ru   resultadded_namesr  r  s         r   rN  zClientSession._prepare_headers  s     T233 		)g	'BCC /%g..$'EEK%mmoo ) )
U+%%JJsE****"'F3KOOC((((r   c                     d S r   r   r  r  r  s      r   rh  zClientSession.get  	     (+sr   c                     d S r   r   r  s      r   optionszClientSession.options  r  r   c                     d S r   r   r  s      r   headzClientSession.head  r  r   c                     d S r   r   r  s      r   postzClientSession.post  r  r   c                     d S r   r   r  s      r   putzClientSession.put  r  r   c                     d S r   r   r  s      r   patchzClientSession.patch  r  r   c                     d S r   r   r  s      r   deletezClientSession.delete  r  r   )rx   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP GET request.rx   )r   r$  r   rg  r  r  rx   r  s       r   rh  zClientSession.get  sC     *M3 8GKQ   r   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP OPTIONS request.rx   )r   r$  r   METH_OPTIONSr  s       r   r  zClientSession.options  sD     *%s <KOU   r   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP HEAD request.rx   )r   r$  r   re  r  s       r   r  zClientSession.head   sC     *NC 9HLR   r   )rr   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP POST request.rr   )r   r$  r   rf  r  r  rr   r  s       r   r  zClientSession.post
  s6     *dncGGGGG  r   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP PUT request.rr   )r   r$  r   METH_PUTr  s       r   r  zClientSession.put  s6     *dmSFFtFvFF  r   c                R    t           | j        t          j        |fd|i|          S )zPerform HTTP PATCH request.rr   )r   r$  r   
METH_PATCHr  s       r   r  zClientSession.patch  s6     *dosHHHHH  r   c                 N    t           | j        t          j        |fi |          S )zPerform HTTP DELETE request.)r   r$  r   METH_DELETEr  s      r   r  zClientSession.delete"  s0    )d.>>v>>  r   c                    K   | j         s6| j        &| j        r| j                                         d{V  d| _        dS dS )zMClose underlying connector.

        Release all acquired resources.
        N)r  r   r   rC  r  s    r   rC  zClientSession.close(  s]      
 { 	#*t/D*o++---------"DOOO	# 	#r   c                 ,    | j         du p| j         j        S )z@Is client session closed.

        A readonly property.
        N)r   r  r  s    r   r  zClientSession.closed2  s     $&@$/*@@r   c                     | j         S )z(Connector instance used for the session.r   r  s    r   r   zClientSession.connector:  s     r   c                     | j         S )zThe session cookies.)r   r  s    r   r   zClientSession.cookie_jar?  s     r   c                     | j         S )z"The session HTTP protocol version.)r   r  s    r   r   zClientSession.versionD       }r   c                     | j         S ))Do URL requoting on redirection handling.)r   r  s    r   r   z"ClientSession.requote_redirect_urlI  s     ))r   c                 L    t          j        dt          d           || _        dS )r  z=session.requote_redirect_url modification is deprecated #2778r   r   N)r   r   r   r   )r  r  s     r   r   z"ClientSession.requote_redirect_urlN  s6     	K	
 	
 	
 	

 &)"""r   c                 H    t          j        dt          d           | j        S )zSession's loop.z"client.loop property is deprecatedr   r   )r   r   r   r   r  s    r   r   zClientSession.loopX  s0     	02DQR	
 	
 	
 	
 zr   c                     | j         S )zTimeout for the session.)r   r  s    r   r   zClientSession.timeout`  r  r   c                     | j         S )z*The default headers of the client session.)r   r  s    r   ru   zClientSession.headerse       $$r   c                     | j         S )z2Headers for which autogeneration should be skipped)r   r  s    r   rv   zClientSession.skip_auto_headersj  s     &&r   c                     | j         S )z2An object that represents HTTP Basic Authorization)r   r  s    r   rw   zClientSession.autho  s     !!r   c                     | j         S )zJson serializer callable)r   r  s    r   r   zClientSession.json_serializet  s     ##r   c                     | j         S )z-Should connector be closed on session closing)r   r  s    r   r   zClientSession.connector_ownery  r  r   c                     | j         S )zGShould `ClientResponse.raise_for_status()` be called for each response.)r   r  s    r   r}   zClientSession.raise_for_status~  s    
 %%r   c                     | j         S )z7Should the body response be automatically decompressed.)r   r  s    r   r   zClientSession.auto_decompress  r  r   c                     | j         S )z
        Should proxies information from environment or netrc be trusted.

        Information is from HTTP_PROXY / HTTPS_PROXY environment variables
        or ~/.netrc file if present.
        )r   r  s    r   r   zClientSession.trust_env  s     r   c                     | j         S )z7A list of TraceConfig instances used for client tracing)r   r  s    r   r   zClientSession.trace_configs  s     ""r   c                     d| _         dS )zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr  r  s    r   detachzClientSession.detach  s    
 r   c                      t          d          )NzUse async with instead)	TypeErrorr  s    r   	__enter__zClientSession.__enter__  s    0111r   exc_typeexc_valexc_tbc                     d S r   r   r  r  r  r	  s       r   __exit__zClientSession.__exit__  s	     	r   c                 
   K   | S r   r   r  s    r   
__aenter__zClientSession.__aenter__  s      r   c                 >   K   |                                   d {V  d S r   )rC  r  s       r   	__aexit__zClientSession.__aexit__  s.       jjllr   r   r   N)r   r  )r   rg   )or   r   r   __doc__r  r  r   r   r   StackSummaryr   r   rL   rs   r.  rC   rD   rI   r    HttpVersion11rW   rf   r   AbstractEventLooprc   rd   rT   r   r   rb   r   rZ   r#   r   r   r   r   r   rQ   objectrh   r   ra   r   _CharsetResolverr   rA   r  r
  rR   r   r  r   r  r   version_infor   rn   rp   ri   r   r(  re   bytesrj   rE   r   r$  r   rg  rJ   r  r  rN  rh  r  r  r  r  r  r  rC  propertyr  r   r   r   r   r   setterr   r   ru   r   r   rv   rw   r   r   r}   r   r   r   r  r  rB  r   r  r  r  __classcell__)r  s   @r   rg   rg      s]        99I	
 	
 	
! !EF ;?x	 67>>>*.J'... (,\( .248*.*.$(*.59$(&*j-:/=;R#126 $ 08(,08 $%)59!!"6J6J68>FE\( \( \(8$\( M*	\(
 w01\( ,'\( ,'\( !\( Y'\( $HSM2\( y!\( $\( M*\( ^,\(   78\(  !\(" ./#\($ %\(&  (N+Yt_<==
'\(, E9,--\(. uo/\(0 v},-1\(2 3\(4 5\(6 #7\(8  [ 129\(: ;\(< =\(> ?\(@ $4A\(B 23C\(D $ItU$:;E\(F 
G\( \( \( \(|
tO4 
 
 
 
 
  
+	+C 	+c 	+d 	+ 	+ 	+ 	+ 	+ 	+ (0 	7 	7 	7D 	7 	7 	7 	7 7""}"	+	+ 	+ _-		+
 &	+ 	+ 	+ 	+ 	+	P	P$,	P8;	P%	P 	P 	P 	PX #     *.*.59$( $+/"& #$(*.3;%)'+,048)-049=&**.'+(,@DGy y yy y
 y y y ,'y ,'y $HSM2y y!y y y T4(y $y  !y"  $.!19T?!BCC
#y( )y* !+y, Y'-y. }i/0/y0 TN1y2 e_3y4 j)5y6 :t[017y8 "#9y:  -;y< $GCH$56=y> sm?y@ "$AyB  }CyD !EyF h';<=GyH 
Iy y y y~ m#%5=+/%)$( $*.$(*.48%)'+,0)-04+14
 4
 4
4
 	4

 C=4
 	124
 "%4
 4
 4
 E?4
 y!4
 4
 4
 ,'4
 !4
  Y'!4
" :t[01#4
$ TN%4
& e_'4
( j))4
* "#+4
,  --4
. /4
0 14
2 
$34
 4
 4
 4
t m#%5=+/%)$( $*.$(*.48%)'+,0)-04+1W W WW 	W
 C=W 	12W "%W W W E?W y!W W W ,'W !W  Y'!W" :t[01#W$ TN%W& e_'W( j))W* "#+W,  --W. /W0 1W2 
!3W W W Wr(> CU      7""}"	+	+ _-	+ &		+ 	+ 	+ 	+	+	+ _-	+ &		+ 	+ 	+ 	+	+	+ _-	+ &		+ 	+ 	+ 	+	+	+ _-	+ &		+ 	+ 	+ 	+	+	+ _-	+ &		+ 	+ 	+ 	+	+	+ _-	+ &		+ 	+ 	+ 	+	+	+ _-	+ &		+ 	+ 	+ 	+ 	+ =A	 	 		59	LO	%	 	 	 	 =A	 	 		59	LO	%	 	 	 	 =B	 	 		59	MP	%	 	 	 	 15	 	 		*-	@C	%	 	 	 	 15	 	 		*-	@C	%	 	 	 	 15	 	 		*-	@C	%	 	 	 		h 	# 	:R 	 	 	 	# # # # A A A A XA 8M2    X  -       X  sCx    X *d * * * X*  ) ) ) ) ) ! ) g/    X     X % % % X% '9T? ' ' ' X' "hy) " " " X" $ $ $ $ X$ % % % % X% &	tX~.	$?@@	A& & & X& % % % % X% 4    X #tK0 # # # X#   2 2 2 24./ -( '	
 
      4./ -( '	
 
       r   rg   c                       e Zd ZdZdeddef         ddfdZddZd	ed
eddfdZ	ddZ
deedef         fdZdeedef         fdZdefdZdeee                  dee         dee         ddfdZdS )_BaseRequestContextManager)_coro_respcoroasyncio.Future[Any]Nr   c                     || _         d S r   )r  )r  r!  s     r   r  z#_BaseRequestContextManager.__init__  s    GK


r   argc                 6    | j                             |          S r   )r  r@  )r  r$  s     r   r@  z_BaseRequestContextManager.send  s    zs###r   r\  r  c                 &     | j         j        |i |S r   )r  throw)r  r\  r  s      r   r'  z _BaseRequestContextManager.throw  s    tz0000r   c                 4    | j                                         S r   )r  rC  r  s    r   rC  z _BaseRequestContextManager.close  s    z!!!r   c                 8    | j                                         }|S r   )r  	__await__)r  rets     r   r*  z$_BaseRequestContextManager.__await__  s    j""$$
r   c                 *    |                                  S r   )r*  r  s    r   __iter__z#_BaseRequestContextManager.__iter__  s    ~~r   c                 h   K   | j          d {V | _        | j                                         d {V S r   )r  r   r  r  s    r   r  z%_BaseRequestContextManager.__aenter__  sG      %)Z//////
Z**,,,,,,,,,r   r  rE  tbc                 N   K   | j                             |||           d {V  d S r   )r   r  r  r  rE  r/  s       r   r  z$_BaseRequestContextManager.__aexit__  s:       j""8S"55555555555r   )r$  Nr   r"  r  )r   r   r   	__slots__r	   r   r  r@  r   r'  rC  r   r*  r-  r  r   r   rB  r   r  r   r   r   r  r    sX       "ILY'<dH'LM LRV L L L L$ $ $ $13 1# 12G 1 1 1 1" " " "9S$%89     )Cx$78        -( - - - -64./6 m$6 ]#	6
 
6 6 6 6 6 6r   r  c                       e Zd ZdZdeddef         deddfdZdefdZd	e	e
e                  d
e	e         de	e         ddfdZdS )_SessionRequestContextManagerr  r   _sessionr!  r"  Nr6  r   c                 0    || _         d | _        || _        d S r   r5  )r  r!  r6  s      r   r  z&_SessionRequestContextManager.__init__  s    
 
/3
r   c                    K   	 | j          d {V | _        | j        S # t          $ r! | j                                         d {V   w xY wr   )r  r   rB  r6  rC  r  s    r   r  z(_SessionRequestContextManager.__aenter__  sv      	#z))))))DJ
 :	  	 	 	-%%'''''''''	s	    +Ar  rE  r/  c                    K   | j         J | j                                          | j                                         d {V  d S r   )r   rC  r6  r1  s       r   r  z'_SessionRequestContextManager.__aexit__  sV       z%%%
m!!###########r   )r   r   r   r2  r	   rD   rg   r  r  r   r   rB  r   r  r   r   r   r4  r4    s        .I -t^CD    
	       .    $4./$ m$$ ]#	$
 
$ $ $ $ $ $r   r4  )r   r   r   r  r  r   r   r   r  r   c                    d S r   r   )r  r  r   r   r   r  s         r   ri   ri     s	     ),r   c          	          d}|d}t          |d          }t          ||                    dd          ||                    dt                    ||          }t	           |j        | |fi ||          S )aB  Constructs and sends a request.

        Returns response object.
        method - HTTP method
        url - request url
        params - (optional) Dictionary or bytes to be sent in the query
        string of the new request
        data - (optional) Dictionary, bytes, or file-like object to
        send in the body of the request
        json - (optional) Any json compatible python object
        headers - (optional) Dictionary of HTTP Headers to send with
        the request
        cookies - (optional) Dict object to send with the request
        auth - (optional) BasicAuth named tuple represent HTTP Basic Auth
        auth - aiohttp.helpers.BasicAuth
        allow_redirects - (optional) If set to False, do not follow
        redirects
        version - Request HTTP version.
        compress - Set to True if request has to be compressed
        with deflate encoding.
        chunked - Set to chunk size for chunked transfer encoding.
        expect100 - Expect 100-continue response from server.
        connector - BaseConnector sub-class instance to support
        connection pooling.
        read_until_eof - Read response until eof if response
        does not have Content-Length header.
        loop - Optional event loop.
        timeout - Optional ClientTimeout settings structure, 5min
        total timeout by default.
        Usage::
        >>> import aiohttp
        >>> async with aiohttp.request('GET', 'http://python.org/') as resp:
        ...    print(resp)
        ...    data = await resp.read()
        <ClientResponse(https://www.python.org/) [200 OK]>
        FNT)r   force_closert   r   )r   rt   r   r   r   r   )rN   rg   rj  rW   r4  r$  )r  r  r   r   r   r  r   r6  s           r   ri   ri     s    Z  "O$$DAAAIJJy$//JJy(33+
 
 
 -GVS33F33
 
 	
r   )r  r   r  r  rs   r  r   r   r   
contextlibr   typesr   typingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	multidictr   r   r   r   yarlr   r  r   r    r!   _websocket.readerr"   abcr#   client_exceptionsr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   client_middlewaresrA   rB   client_reqreprC   rD   rE   rF   rG   	client_wsrH   rI   rJ   r   rK   rL   rM   rN   rO   	cookiejarrP   helpersrQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   http_websocketr]   r^   r_   tracingr`   ra   typedefsrb   rc   rd   re   rf   __all__r   rj   r  rn   rp   srh   r   r   r  rS  r   r  r   r  rg   r  r   r  r4  r  r  ri   r   r   r   <module>rO     s          				 



                                                            .  B B B B B B B B B B B B       ! ! ! ! ! ! ! ! ! ! 1 1 1 1 1 1 " " " " " "                                                             > O N N N N N N N                      
              !          	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 H G G G G G G G G G G G F F F F F F F F F F ' ' ' ' ' ' ' ' N N N N N N N N N N N N N N0f  Jw=: : : : :iu : : : :: T$d333       43, )6FQS(T(T(T}% T T T YSSSTT 7:~/FGG^U3S89 N N N N N N N Nb&!6 !6 !6 !6 !63X+=!>@Q !6 !6 !6H 4NC 56MN $ $ $ $ $ $ $ $B w=  $1-148, , ,,, 	,
 M*, w01, ), 
', , , , , ,   $1-148>
 >
 >
>
>
 	>

 M*>
 w01>
 >
 
'>
 >
 >
 >
 >
 >
r   