
    g              5          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  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l/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZN ddlOmPZPmQZQmRZRmSZSmTZT ddlUmVZVmWZWmXZX ddlYmZZZm[Z[m\Z\m]Z]m^Z^ ddl_m`Z` ddlambZbmcZcmdZdmeZemfZfmgZgmhZhmiZi ddl+mjZjmkZkmlZlmmZm ddlnmoZompZpmqZq ddlrmsZsmtZt ddlumvZvmwZwmxZxmyZymzZz dZ{erddl|m}Z} ndZ}ej                  dk\  rerddlmZ  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'eQeW      ZeeQegef   Z G d( d)      Z G d* d+eeeef   ee         ZeeQ   ZeeW   Z G d, d-      Zdddddddd.dddddddehde+j                   dddd/d/d0d1ed2ezd3eyd4ed5ed6eex   d7eee      d8eee   d9ed:ed;ee   d<ee   d=ed>ee   d?ed@eez   dAeee   dBe eef   dCeew   dDekdEee[   dFee   dGeej(                     dHedIedJef4dKZy)LzHTTP Client for asyncio.    N)suppress)TracebackType)TYPE_CHECKINGAny	AwaitableCallable	CoroutineFinal	FrozenSet	GeneratorGenericIterableListMappingOptional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)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.   r/   r0   r1   r2   r3   r7   r5   r4   r6   r8   r9   r:   r;   r<   r=   r?   r@   rA   rB   rC   rI   rK   rL   rJ   rF   ClientSessionClientTimeoutrG   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<   y)_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)__name__
__module____qualname__rb   __annotations__r   r   r`   ra   r   strrQ   boolintr   rA   r   rc   rg   rB   r        C/var/www/openai/venv/lib/python3.12/site-packages/aiohttp/client.pyrm   rm      sX   M
I
I<%&&<%&&Xc]D011
	4
  CtO$$4:OD$.1A9T?1R(SSTT4  io&&44	z4,	--39%%t+,,WS#X.455T	""4:&&d###t)$$r   rm   FtotalT)auto_attribsfrozenslotsc                   l    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<   y)re   Nr   connect	sock_readsock_connect   ceil_threshold)r   r   r   r   r   floatr   r   r   r   r   r   r   r   re   re      sD    !E8E?!#GXe_#!%Ix%$(L(5/(NEr   re   i,     )r   r   DEFAULT_TIMEOUT>   GETPUTHEADTRACEDELETEOPTIONS_RetTypec            ?       F
    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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(df:d)Z-d*ed    d(dfd+Z.e/rd,ed-e0d(df fd.Z1e2fd/e0d(dfd0Z3e4jj                  d1k\  re6rd2ed3ed4e7e8   d(d5fd6Z9nd2ed3ed4e0d(d5fd7Z9d8ed(e:fd9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;d2ed8ed<e<d=e0d>e0dee   dee   deee      dee   d?e!d@e+dAe"ee!df   dBee!   dCe!de"de!e#ege$d   f   f   dDe!dee   dee   de"e(e&f   dEee!   dFee=   dGee>   dHe"e>e!e?f   dIee   dJee   dKee@ee0f      d$ee+   d ee!   d%ee+   d&ee+   d(ef>dLZAeBj                  dMedddddddddddddddddNdOdPd3ed2edQee   de"eDe&f   dRee%   dSe!dTe!dUee%   dee   dVee   d<e<dee   dee   dee   dHe"e>e!e?f   dEee!   dFee=   dGee>   dIee   dJee   dAe+dWe+d(dXf.dYZEeBj                  dMedddddddddddddddddNdOdPd3ed2edQee   de"eDe&f   dRee%   dSe!dTe!dUee%   dee   dVee   d<e<dee   dee   dee   dHe"e>e!e?f   dEee!   dFee=   dGee>   dIee   dJee   dAe+dWe+d(ef.dZZFdee   d(d[fd\ZGe4jj                  d1k\  r^e6r\d3ed4e7e8   d(d5fd]ZHd3ed4e7e8   d(d5fd^ZId3ed4e7e8   d(d5fd_ZJd3ed4e7e8   d(d5fd`ZKd3ed4e7e8   d(d5fdaZLd3ed4e7e8   d(d5fdbZMd3ed4e7e8   d(d5fdcZNnddddd3ed?e!d4e0d(d5fdeZHdddd3ed?e!d4e0d(d5fdfZIdddd3ed?e!d4e0d(d5fdgZJddhd3ed=e0d4e0d(d5fdiZKddhd3ed=e0d4e0d(d5fdjZLddhd3ed=e0d4e0d(d5fdkZMd3ed4e0d(d5fdlZNddmZOePd(e!fdn       ZQePd(ee   fdo       ZRePd(e fdp       ZSePd(eTe+e+f   fdq       ZUePd(e!fdr       ZVeVj                  d-e!d(dfds       ZVePd(ej.                  fdt       ZXePd(e(fdu       ZYePddv       ZZePd(e[e\   fdw       Z]ePd(ee   fdx       Z^ePd(efdy       Z_ePd(e!fdz       Z`ePd(e"e!e#ege$d   f   f   fd{       ZaePd(e!fd|       ZbePd(e!fd}       ZcePd(e)e*   fd~       ZdddZeddZfdeeeg      deeg   deeh   d(dfdZiddZjdeeeg      deeg   deeh   d(dfdZk xZlS )rd   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requote_redirect_urlNr   r   TF     c                      y)Nzutf-8r   )rbs     r   <lambda>zClientSession.<lambda>,  s    7r   )	connectorlooprq   rr   r|   r}   rs   rt   json_serializerequest_classresponse_classws_response_classversion
cookie_jarconnector_ownerrz   read_timeoutconn_timeoutr~   r   	trust_envr   trace_configsr   r   r   fallback_charset_resolverbase_urlr   r   rq   rr   r|   r}   rs   rt   r   r   r   r   r   r   r   rz   r   r   r~   r   r   r   r   r   r   r   r   returnc                   d | _         |||j                  }|xs t        j                         }|t	        |t
              r!|| _        |d n|j                         | _        nLt        |      | _        | j                  j                         | _        | j                  j                  sJ d       | j                  0| j                  j                  j                  d      st        d      |t        u s|t        | _        |t        urBt!        j"                  dt$        d       t'        j(                  | j                  |      | _        |t'        j(                  | j                  |      | _        t!        j"                  d	t$        d       nOt	        |t*              st        d
t-        |       d      || _        |t        urt        d      |t        d      |t/        |      }|j                  |urt1        d      || _        |j3                         r-t5        j6                  t9        j:                  d            | _        |t?        |      }|| _         |r| j@                  jC                  |       || _         || _"        |	| _#        || _$        |
| _%        || _&        || _'        || _(        || _)        || _*        || _+        || _,        |rt[        |      }n
t[               }|| _.        |t_        d |D              | _0        nt_               | _0        || _1        || _2        || _3        |xs g | _4        | jh                  D ]  }|jk                           || _6        || _7        || _8        d| _9        y )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.connectr   z0Session and connector has to use same event loopr   c              3   2   K   | ]  }t        |        y wN)r   ).0is     r   	<genexpr>z)ClientSession.__init__.<locals>.<genexpr>  s     /SARAQARs   T):r   r   asyncioget_running_loop
isinstancer   r   originr   absolutepathendswith
ValueErrorrT   r   r   warningswarnDeprecationWarningattrevolvere   typerK   RuntimeError	get_debug	tracebackextract_stacksys	_getframer   rM   r   update_cookiesr   r   r   r   r   r   r   r   r   r   r   r   r   	frozensetr   r   r   r   r   freezer   r   r   r   )selfr   r   r   rq   rr   r|   r}   rs   rt   r   r   r   r   r   r   r   rz   r   r   r~   r   r   r   r   r   r   r   r   real_headerstrace_configs                                  r   __init__zClientSession.__init__  s2   H 48<$ 1w//1z(C8,4DN,4,<D(//BSD! ]DN$(NN$9$9$;D!>>**N,NN*>>%dnn.A.A.J.J3.O@AAh'/+DM8+N& 
 !%DMM N' $DMM< PN&  g}5 5d7m_ E> >  $DM8+ # 
 ' &  $$/I??$&QRR
>>%.%<%<S]]1=M%ND""-J%++G4# /!-!1 /#%9")+- -8-AL&=L2>(&//SAR/S&SD#&/kD#+-"3+1r //L! 0 !:##- '+r   clsc                 n    t        j                  dj                  | j                        t        d       y )Nz6Inheritance class {} from ClientSession is discouragedr   r   )r   r   formatr   r   )r   s    r   __init_subclass__zClientSession.__init_subclass__  s'    #VCLL1		
r   namevalc                     || j                   vr+t        j                  dj                  |      t        d       t
        |   ||       y )Nz8Setting custom ClientSession.{} attribute is discouragedr   r   )ATTRSr   r   r  r   super__setattr__)r   r  r  	__class__s      r   r	  zClientSession.__setattr__  s@    4::%%%+VD\& 	 Gc*r   	_warningsc                     | j                   s[d| i} |j                  d| t        fi | | dd}| j                  | j                  |d<   | j                  j                  |       y y )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__  sv    {{%FINN*4(3_HN *.:STG%%1.2.D.D*+JJ--g6 r   rh   methodurlr  _RequestContextManagerc                      y r   r   r   r  r  r  s       r   rf   zClientSession.request  s    
 (+r   c                 <    t         | j                  ||fi |      S )zPerform HTTP request.)r  _requestr  s       r   rf   zClientSession.request  s!     *-$--*Nv*NOOr   
str_or_urlc                     t        |      }| j                  |S |j                  rJ | j                  j                  |      S r   )r   r   r   join)r   r  r  s      r   
_build_urlzClientSession._build_url  s<    *o>>!J||##>>&&s++r   
   )rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   
verify_sslfingerprintssl_contextr   r   r   r   r   r   r   r   rn   ro   rp   ru   rv   rw   rx   ry   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                  }!|xs i }| j                  |      }	 | j                  |      }"| j                   J |"j"                  | j                   j$                  vrt'        |"      |'|D $ch c]  }$t)        |$       c}$| j*                  z  }%n| j*                  r| j*                  }%nd }%|| j,                  }|| j.                  }|d }n| j                  |      }	 t1        |      }|t4        u r| j6                  }&nt        |t8              st9        |      }&n|}&t;        | j<                  |&j>                  |&j@                        }'|'jC                         }(|| jD                  }|| jF                  }|| jH                  }|| jJ                  }| jL                  D )cg c]  })tO        | |)|)jQ                  |            ! }*})|*D ],  }+|+jS                  ||"jU                  |      |       d {    . |'jW                         },	 |,5  | jX                  xr |tZ        v }-	 t]        |"      \  }"}.|"j^                  s|rt`        nt        }/ |/|"      | s|	r|.rt        d
      |	| r|.|.}	|	A| jb                  r5| jd                  r| jf                  |"ji                         k(  r| jb                  }	||	tj        jl                  |v rt        d      | jn                  jq                  |"      }0|Uts        | jn                  jt                        }1|1jw                  |       |1jq                  |"      }2|2r|0jy                  |2       |t1        |      }n2| jz                  r&t}        t~              5  t        |"      \  }}d d d        | j                  ||"|||%||0|	|!|||| j<                  | j                  |||,| ||nd	|||*| j                        }3	 | j                   j                  |3|*|&       d {   }4|4j                  J |4j                  J |4j                  j                  |,|t        v |||&j                  || j                   j                  ||	       	 	 |3j                  |4       d {   }6	 |6jC                  |4       d {    	 |6j                  x}r&| jn                  jw                  ||6j                         |6j                  dv rI|
rF|*D ]-  }+|+j                  ||"jU                  |      ||6       d {    / |dz  }| j                  |6       |r7||k\  r2|6j                          t        | d   j                  t        |             |6j                  dk(  r|6j                  tj        j                  k7  s+|6j                  dv rm|6j                  tj        j                  k(  rPtj        j                  }d }|j                  tj        j                        r|j                  tj        j                         |6j                  j                  tj        j                        xs) |6j                  j                  tj        j                        }7|7n|6j                          	 t1        |7| j                         }8|8j"                  }9|9t        vr|6j                          t        |7      |9s|"j                  |8      }8	 |8ji                         }:|"ji                         |:k7  r"d }	|j                  tj        jl                  d        |8}"i }|6j                          	 d d d        || j                  }|n.t        |      r |6       d {    n|r6j                          |(B6j                  &|6j                  j                  |(j                         n|(j                          t        |       6_t        |*D ]-  }+|+j                  ||"jU                  |      ||6       d {    / |6S # t        $ r}#t        |      |#d }#~#ww xY wc c}$w # t        $ r}#t3        |      |#d }#~#ww xY wc c})w 7 <# 1 sw Y   xY w7 O# t        j                  $ r}5t        d|"       |5d }5~5ww xY w7 7 # t        $ r |6j                           w xY w# t        $ r |4j                           w xY w# t        t        f$ r	 |-rd}-Y  t        $ r  t        $ r?}5|5j                  t        |5t        j                        r t        |5j                   |5d }5~5ww xY w7 # t        $ r}#ta        |7d      |#d }#~#ww xY w# t        $ r};ta        |8d      |;d };~;ww xY w# 1 sw Y   =xY w7 7 # t        $ r]}#|'j                          |(r|(j                          d }(|*D ].  }+|+j                  ||"jU                  |      ||#       d {  7   0  d }#~#ww xY ww)NzSession is closedz9data and json parameters can not be used at the same time)dumpszChunk size is deprecated #1615r   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)rn   rr   rs   ro   rq   rt   r   rw   rx   ry   r   r   r|   r}   timersessionr   r   r   tracesr   )r+  r~   zConnection timeout to host )	r)  skip_payloadr{   r   r   r   timeout_ceil_thresholdr   r   F)-  .  /  i3  i4  r   r0  )r.  r/  )encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)wr  r   rD   r   r    JsonPayloadr   r   r   r   r   r   r   _prepare_headersr!  r3   r   schemeallowed_protocol_schema_setr5   r   r   r   r   r   r2   rT   r   re   rR   r   r   r   startr   r   r   r   r   r]   trace_config_ctxsend_request_startupdate_queryr)  r   IDEMPOTENT_METHODSrU   raw_hostr4   r   r   r   r   r   AUTHORIZATIONr   filter_cookiesrM   r(  r   loadr   r   LookupErrorrS   r   r   r   r   r   TimeoutErrorr0   	transportprotocolset_response_paramsrP   r   _timeout_ceil_thresholdsendBaseExceptioncloser+   r9   r)   OSErrorerrnoargs_cookiesr  statussend_request_redirectappendr=   request_infotupler  	METH_HEAD	METH_POSTMETH_GETgetCONTENT_LENGTHpoprr   LOCATIONURIreleaser   rH   r6   r   r   callablerz   
connectionadd_callbackcancel_historysend_request_endsend_request_exception)<r   r  r  rn   ro   rp   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   	redirectshistoryr   r  er   skip_headersreal_timeouttmhandler   r+  tracer)  retry_persistent_connectionauth_from_urlerr_exc_clsall_cookiestmp_cookie_jarreq_cookiesreqconnexcrespr_urlparsed_redirect_urlr4  redirect_originorigin_val_errs<                                                               r   r  zClientSession._request  sg
    R ;;233ZkJ 0K  &&t43G3GHD'4(W-@MM:<NO	(*--2 ''0	;//*-C ***::T__HHH',, (!2!2AQ!2''(L $$22LL=''E11J= M 11-@M/E
 h*.--Lg}5,7;& JJ**<;V;V
 --L""33O  //M!!11N !% 3 3
 !4 --@Q-R
 !4 	 
 E**633C3CF3KWUUU  
@	 **Kv9K/K , )<S)A&C<<
  ) :!6 $
 *#.. #(9  |M4M,  .. $$2G2G3::<2W  $11  + , ..'9(-  #'"2"2"A"A#"FK*)2)-)9)9)F)F* '55g>&4&C&CC&H&',,[9( #E
%k20Ec0J-E: 3 --% '*6! +! '!) '"+!ZZ'+';';##-# $#&?C(7&3%"&../ . C6#%)__%<%< &= &    >>555==444MM55#%+/A%A'5(7%1%;%;%1/3/V/V&3'5 6 
@	"),$#7D&&*jj&6 6 6& #'--/w/((77J {{&??O%+E"'"="= &(8(8(@'4#   &,
 "Q	t,(Y--G JJL"2 '
 7 7w#  !KK3.4;;$..3P KK:5$++:W%)]]F#'D&{{4+>+>? 'D,?,? @ $ 0 0 ? !4<<CSCS HHD !=! !LLN%25 %43M3M/M3/ "5!;!;!)BB JJL"?"FF!'25((;N2O/2.A.H.H.JO ::<?:#'D#KK(:(:DA1!# q v  '#'#9#9 '*+&t,,,!%%' !??.OO00?MMO!'NDM,,C,,V4gt     Ks	  	;'
3:	;&  / 'Q./:
 VJ 32>  #// #49#?"##, $8 6#0 & $

 %&  - " JJL!" *+BC 6:?7$& " @99,CAUAU1V!+SXX6C?@J  * %"? % j# $%%%  * 2"? 3 =# $222S B -
  	HHJ22C,,V4gq     	s  B+i".a: ?Ai" bAi"1b <B6i"2$b9,i"b>i"g9 E g&<cAg&!c?c cA$g&*d>c;?ddc>dA2g&f'E#g&4f*Ag&gAg&+/g9 g3Bg9 1g62g9 9i":	bbbi"	b6%b11b66	i"c	g&cc8$c33c88g&;d>dddd::d==f$g&f$%:ff$$g&*	g3g  gg&	g#gg##g&&g0+	g9 6g9 9	iAiiiii"r   r   i  @ r  	protocolsr~   receive_timeout	autocloseautoping	heartbeatrt   r   rn   rr   r|   r}   r   r#  r$  r%  r   r   rw   max_msg_sizerx  ry  rz  r{  r|  r   r}  _WSRequestContextManagerc                b    t        | j                  |||||||||	|
||||||||||||            S )zInitiate websocket connection.rw  )r~  _ws_connect)r   r  r  rx  r~   ry  rz  r{  r|  rt   r   rn   rr   r|   r}   r   r#  r$  r%  r   r   rw   r}  s                          r   
ws_connectzClientSession.ws_connect`  sf    6 (# /#!#%%'' /+!)-  
 	
r   c                  K   |t         ur<t        |t              r|}n/t        j                  dt
        d       t        |      }nt        }|3t        j                  dt
        d       t        j                  ||      }|t               }nt        |      }t        j                  dt        j                  dt        j                  d	i}|j                         D ]  \  }}|j                  ||        t!        j"                  t%        j&                  d
            }|j)                         |t        j*                  <   |r"dj-                  |      |t        j.                  <   |
|
|t        j0                  <   |rt3        |      }||t        j4                  <   |t        j                  dt
        d       d}t7        ||||      }| j9                  ||||d|	|||||       d {   }	 |j:                  dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        j                  d      jG                         dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        j                  d      jG                         dk7  r8t=        |j>                  |j@                  d|j:                  |jB                        |jB                  jE                  t        jH                  d      }t!        j"                  tK        jL                  |tN        z         jQ                               j)                         } || k7  r8t=        |j>                  |j@                  d|j:                  |jB                        d }!|rrt        j.                  |jB                  v rV|jB                  t        j.                     jS                  d      D "cg c]  }"|"jU                          }#}"|#D ]
  }"|"|v s|"}! n d}$|r?|jB                  jE                  t        j4                        }%|%r	 tW        |%      \  }}$nd}d}$|j\                  }'|'J |'j^                  }(|(J |j`                  d |(_1        n1|(jb                  %te        |j`                  |(jb                        |(_1        |'jf                  })|)J ti        |(d| jj                        }*|(jm                  to        |*|      |*       tq        |(|)d||$      }+| js                  |*|+|!||||| jj                  |||$      S 7 }c c}"w # tX        $ rK}&t=        |j>                  |j@                  |&jZ                  d   |j:                  |jB                        |&d }&~&ww xY w# tt        $ r |jw                           w xY w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   ,)rw   z+ssl=None is deprecated, please use ssl=TrueTF)	rn   rr   r{   rt   r|   r}   r   r   r   e   zInvalid response status)r  rL  rr    zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responser   r   r   )use_maskrw   
notakeover)r|  rw   client_notakeover)<rT   r   rG   r   r   r   rE   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_EXTENSIONSrD   rf   rL  r?   rO  rb  rr   rT  lowerSEC_WEBSOCKET_ACCEPThashlibsha1rV   digestsplitstripr\   rZ   rJ  r[  rB  r  r   maxrA  r!   r   
set_parserrX   rY   r   rF  rG  ),r   r  r  rx  r~   ry  rz  r{  r|  rt   r   rn   rr   r|   r}   r   r#  r$  r%  r   r   rw   r}  
ws_timeoutr   default_headerskeyvaluesec_keyextstrrr  r_keymatchrB  protoresp_protocolsr  compress_hdrsrq  rp  
conn_protorA  readerwriters,                                               r   r  zClientSession._ws_connect  sr    4 ("'?3$
> '  -g>
2J&MM< # ZOLJ?-8]L&w/L LL+OOY&&
 *//1JC##C/ 2 ""2::b>2/6~~/?T++,8;8KL445(.L%2F:@L667 ;MM="
 CZkJ \\  !+' " 
 
s	{{c!,%%LL5;; LL  ||b1779[H,%%LL4;; LL  ||4::<	I,%%LL7;; LL  LL$$T%>%>CE$$W\\'F2B%C%J%J%LMTTVE~,%%LL8;; LL  HT88DLLH "&d.I.I!J!P!PQT!U"!U KKM!U  "
 ,E	)#( , J $ 0 01N1N O 	#/;M/J,*  !H!&J??D###J))) $$,*.
'((4*-)):+B+B+
' I((('
E

KF!!/&,"GP$!%F **

#!", +  k
t"" , #4 -- LL$'HHQK#';;$(LL  ###L  	JJL	si   G$W &U#'W ,H-W U&0W <4W 1U+ ?B>W ='W &W +	V?4AV::V??W WW CIMultiDict[str]c                    t        | j                        }|rpt        |t        t        f      st        |      }t               }|j                         D ]2  \  }}||v r|j                  ||       |||<   |j                  |       4 |S )z3Add default headers and transform it to CIMultiDict)r   r   r   r   r   setr  add)r   rr   resultadded_namesr  r  s         r   r3  zClientSession._prepare_headerso  s}     T223g	'BC%g.$'EK%mmo
U+%JJsE*"'F3KOOC( . r   c                      y r   r   r   r  r  s      r   rT  zClientSession.get       (+r   c                      y r   r   r  s      r   optionszClientSession.options  r  r   c                      y r   r   r  s      r   headzClientSession.head  r  r   c                      y r   r   r  s      r   postzClientSession.post  r  r   c                      y r   r   r  s      r   putzClientSession.put  r  r   c                      y r   r   r  s      r   patchzClientSession.patch  r  r   c                      y r   r   r  s      r   deletezClientSession.delete  r  r   )ru   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP GET request.ru   )r  r  r   rS  r   r  ru   r  s       r   rT  zClientSession.get  s8     *MM38GKQ r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP OPTIONS request.ru   )r  r  r   METH_OPTIONSr  s       r   r  zClientSession.options  s:     *%%s<KOU r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP HEAD request.ru   )r  r  r   rQ  r  s       r   r  zClientSession.head  s8     *NNC9HLR r   )ro   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP POST request.ro   )r  r  r   rR  r   r  ro   r  s       r   r  zClientSession.post  s/     *dnncGGG r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PUT request.ro   )r  r  r   METH_PUTr  s       r   r  zClientSession.put  s/     *dmmSFtFvF r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PATCH request.ro   )r  r  r   
METH_PATCHr  s       r   r  zClientSession.patch  s/     *doosHHH r   c                 X    t         | j                  t        j                  |fi |      S )zPerform HTTP DELETE request.)r  r  r   METH_DELETEr  s      r   r  zClientSession.delete  s*    )d..>v> r   c                    K   | j                   sB| j                  .| j                  r"| j                  j                          d{    d| _        yy7 w)zMClose underlying connector.

        Release all acquired resources.
        N)r  r   r   rG  r   s    r   rG  zClientSession.close  sF     
 {{*t/D/Doo++---"DO -s   AAAAc                 N    | j                   du xs | j                   j                  S )z@Is client session closed.

        A readonly property.
        N)r   r  r  s    r   r  zClientSession.closed  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.version       }}r   c                     | j                   S ))Do URL requoting on redirection handling.)r   r  s    r   r   z"ClientSession.requote_redirect_url
  s     )))r   c                 J    t        j                  dt        d       || _        y)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_url  s#     	K	

 &)"r   c                 R    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.loop  s%     	02DQR	
 zz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   rr   zClientSession.headers&       $$$r   c                     | j                   S )z2Headers for which autogeneration should be skipped)r   r  s    r   rs   zClientSession.skip_auto_headers+  s     &&&r   c                     | j                   S )z2An object that represents HTTP Basic Authorization)r   r  s    r   rt   zClientSession.auth0  s     !!!r   c                     | j                   S )zJson serializer callable)r   r  s    r   r   zClientSession.json_serialize5  s     ###r   c                     | j                   S )z-Should connector be closed on session closing)r   r  s    r   r   zClientSession.connector_owner:  r  r   c                     | j                   S )zGShould `ClientResponse.raise_for_status()` be called for each response.)r   r  s    r   rz   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_decompressF  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_envK  s     r   c                     | j                   S )z7A list of TraceConfig instances used for client tracing)r   r  s    r   r   zClientSession.trace_configsU  s     """r   c                     d| _         y)zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr  r  s    r   detachzClientSession.detachZ  s    
 r   c                     t        d      )NzUse async with instead)	TypeErrorr  s    r   	__enter__zClientSession.__enter__a  s    011r   exc_typeexc_valexc_tbc                      y r   r   r   r  r  r  s       r   __exit__zClientSession.__exit__d  s     	r   c                    K   | S wr   r   r  s    r   
__aenter__zClientSession.__aenter__m  s     s   c                 @   K   | j                          d {    y 7 wr   )rG  r  s       r   	__aexit__zClientSession.__aexit__p  s      jjls   r   r   N)r   r  )r   rd   )mr   r   r   __doc__r   r  r   r   r   StackSummaryr   r   rI   rp   r'  r@   rA   rF   r   HttpVersion11rT   rc   r   AbstractEventLoopr`   ra   rQ   r   r   r_   r   rW   r"   r   r   r   r   r   rN   objectre   r   r^   r   _CharsetResolverr   r  rO   r   r	  r   r  r   version_infor   rk   rm   rf   r   r!  rb   bytesrg   rB   r   r  r   rS  rG   r  r  r3  rT  r  r  r  r  r  r  rG  propertyr  r   r   r   r   r   setterr   r~   rr   r   r   rs   rt   r   r   rz   r   r   r   r  r  rF  r   r  r  r  __classcell__)r
  s   @r   rd   rd      s   9	
 ED ;?x	 6 67>*.J'. (,P, .248*.*.$(*.59$(&*jj-:/=;R#1126 $ 08(,08 $%)59!!"6JAP,8$P, M*	P,
 w001P, ,'P, ,'P, !P, Y'P, $HSM2P, y!P, $P, M*P, ^,P,   78P,  !P," ./#P,$ %P,&  (N+Yt_<==
'P,, E9,--P,. uo/P,0 v},-1P,2 3P,4 5P,6 #7P,8  [ 129P,: ;P,< =P,> ?P,@ $4AP,B 
CP,d
tO4 
 
 	+C 	+c 	+d 	+ (0 	7 	7D 	7 7"}	+	+ 	+ _-		+
 &	+	P	P$,	P8;	P%	P,X ,# , *.*.59$( $+/"& #$(*.3;%)'+,048)-049=&**.'+(,EHH H
 H H H ,'H ,'H $HSM2H y!H H H T4(H $H  !H"  $.!19T?!BCC
#H( )H* !+H, Y'-H. }i/0/H0 TN1H2 e_3H4 j)5H6 :t[017H8 "#9H:  -;H< $GCH$56=H> sm?H@ "$AHB  }CHD !EHF 
GH\ mm#%5=+/%)$( $*.$(*.48%)'+,0)-04+14
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
t mm#%5=+/%)$( $*.$(*.48%)'+,0)-04+1W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r(> CU   7"}	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+	+	+ _-	+ &		+ =A		59	LO	%	 =A		59	LO	%	 =B		59	MP	%	 15		*-	@C	%	 15		*-	@C	%	 15		*-	@C	%		h 	# 	:R 	# A A A 8M2    -     sCx   *d * *   ) ) ) !) g//      % % '9T? ' ' "hy) " " $ $ $ % % % &	tX~.	$?@@	A& & % % % 4   #tK0 # #24./ -( '	
 
4./ -( '	
 
r   rd   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y)_BaseRequestContextManager)_coro_respcoroasyncio.Future[Any]Nr   c                     || _         y r   )r  )r   r  s     r   r   z#_BaseRequestContextManager.__init__}  s	    GK
r   c                 8    | j                   j                  |      S r   )r  rE  )r   args     r   rE  z_BaseRequestContextManager.send  s    zzs##r   rJ  r  c                 :     | j                   j                  |i |S r   )r  throw)r   rJ  r  s      r   r  z _BaseRequestContextManager.throw  s    tzz000r   c                 6    | j                   j                         S r   )r  rG  r  s    r   rG  z _BaseRequestContextManager.close  s    zz!!r   c                 :    | j                   j                         }|S r   )r  	__await__)r   rets     r   r  z$_BaseRequestContextManager.__await__  s    jj""$
r   c                 "    | j                         S r   )r  r  s    r   __iter__z#_BaseRequestContextManager.__iter__  s    ~~r   c                    K   | j                    d {   | _        | j                  j                          d {   S 7 +7 wr   )r  r  r  r  s    r   r  z%_BaseRequestContextManager.__aenter__  s3     %)ZZ/
ZZ**,,,  0,s   A>&AA A Ar  rq  tbc                 Z   K   | j                   j                  |||       d {    y 7 wr   )r  r  r   r  rq  r  s       r   r  z$_BaseRequestContextManager.__aexit__  s$      jj""8S"555s   !+)+)r  Nr   r  r  )r   r   r   	__slots__r	   r   r   rE  r   r  rG  r   r  r  r  r   r   rF  r   r  r   r   r   r
  r
  y  s    "ILY'<dH'LM LRV L$13 1# 12G 1"9S$%89  )Cx$78  -( -64./6 m$6 ]#	6
 
6r   r
  c                   l    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y)_SessionRequestContextManagerr  r  _sessionr  r  Nr*  r   c                 .    || _         d | _        || _        y r   r!  )r   r  r*  s      r   r   z&_SessionRequestContextManager.__init__  s    
 
/3
r   c                    K   	 | j                    d {   | _        | j                  S 7 # t        $ r% | j                  j	                          d {  7    w xY wwr   )r  r  rF  r"  rG  r  s    r   r  z(_SessionRequestContextManager.__aenter__  sQ     	#zz)DJ
 :: * 	--%%'''	s1   A+ )	+ A+ &AAAAr  rq  r  c                    K   | j                   J | j                   j                          | j                  j                          d {    y 7 wr   )r  rG  r"  r  s       r   r  z'_SessionRequestContextManager.__aexit__  s>      zz%%%

mm!!###s   AAA	A)r   r   r   r  r	   rA   rd   r   r  r   r   rF  r   r  r   r   r   r   r     s    .I -t^CD    
	 . $4./$ m$$ ]#	$
 
$r   r   r"  r   )rn   ro   rp   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   rq   r   r   r   r   r   r   r  r  rn   ro   rp   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   rq   r   r   r   r   r   r   r   c                    d}|d}t        |d      }t        ||||||      }t        |j                  | |||||||||	|
|||||||||      |      S )a  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
      >>> resp = await aiohttp.request('GET', 'http://python.org/')
      >>> resp
      <ClientResponse(python.org/) [200]>
      >>> data = await resp.read()
    FT)r   force_close)r   rq   r   r~   r   r   )rn   ro   rp   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r   r   r   )rK   rd   r   r  )r  r  rn   ro   rp   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   rq   r   r   r   r   r   r   r   r*  s                              r   rf   rf     s    @ O d=	'G )/+'-)!%')) 	 	
, 	/ r   )r  r   r  r  rp   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   	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.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   client_reqrepr@   rA   rB   rC   rD   	client_wsrE   rF   rG   r   rH   rI   rJ   rK   rL   	cookiejarrM   helpersrN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   http_websocketrZ   r[   r\   tracingr]   r^   typedefsr_   r`   ra   rb   rc   __all__r   rg   r  rk   rm   sre   r   r   r   r:  r   r  r   r  rd   r
  r  r~  r   r   r   r   r  r  rf   r   r   r   <module>r9     s        	 
         ,  B B  ! ! 1 "       >  
  !	 	 	 H G F F ' N N0f Jw=%iu %8 T$d3  4, )6FQS(T}% T ST :~/FG^U3S89 R Rj$!63X+=!>@Q !6H 4NC 56MN $ $J &*15 $ ""'+ $&*,4&*--)-"&045ff	f 	f
 f f l#f  .f 9
f f f smf d^f f tnf  !f" H#f$ #%f& =&()'f( l#)f* +f, &-f. 3-/f0 7,,
-1f2 3f4 5f6 #7fr   