
    3Cf              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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  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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB ddlCmDZDmEZEmFZFmGZGmHZH ddlImJZJ ddlKmLZLmMZMmNZNmOZO ddlPmQZQ ddlRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\ ddl+m]Z]m^Z^m_Z_m`Z` ddlambZbmcZcmdZdmeZe ddlfmgZg ddlhmiZimjZj ddlkmlZlmmZmmnZnmoZo dZperddlqmrZr ndZr e!j                  ddd       G d d             Zt etd      Zueet   evd<    ed      ZweeEexgeyf   Zz G d  d!      Z{ G d" d#eeeewf   eew         Z| G d$ d%e|eE         Z} G d& d'e|eJ         Z~ G d( d)      Zdddddddd*ddd+dddde[de+j                   dddd,d,d-d.eyd/eod0eeeyeyf      d1ed2ed3een   d4eeey      d5eeU   d6ed7ed8eey   d9ee   d:ed;ee   d<ed=eeo   d>eeU   d?e etef   d@eem   dAe^dBeeL   dCee   dDeej                     dEedFedGef4dHZy)IzHTTP Client for asyncio.    N)suppress)SimpleNamespaceTracebackType)TYPE_CHECKINGAny	AwaitableCallable	CoroutineFinal	FrozenSet	GeneratorGenericIterableListMappingOptionalSetTupleTypeTypeVarUnion)CIMultiDict	MultiDictMultiDictProxyistr)URL   )hdrshttppayload)AbstractCookieJar)ClientConnectionErrorClientConnectorCertificateErrorClientConnectorErrorClientConnectorSSLErrorClientErrorClientHttpProxyErrorClientOSErrorClientPayloadErrorClientProxyConnectionErrorClientResponseErrorClientSSLErrorContentTypeError
InvalidURLServerConnectionErrorServerDisconnectedErrorServerFingerprintMismatchServerTimeoutErrorTooManyRedirectsWSServerHandshakeError)ClientRequestClientResponseFingerprintRequestInfo_merge_ssl_params)ClientWebSocketResponse)BaseConnectorNamedPipeConnectorTCPConnectorUnixConnector)	CookieJar)
	_SENTINELDEBUG	BasicAuthTimeoutHandleceil_timeoutget_env_proxy_for_urlget_running_loopmethod_must_be_empty_bodysentinelstrip_auth_from_url)WS_KEYHttpVersionWebSocketReaderWebSocketWriter)WSHandshakeError	WSMessage
ws_ext_genws_ext_parse)FlowControlDataQueue)TraceTraceConfig)JSONEncoderLooseCookiesLooseHeadersStrOrURL)r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r;   r=   r>   r<   r:   ClientSessionClientTimeoutrequest)
SSLContextT)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)rZ   Ntotalconnect	sock_readsock_connect   ceil_threshold)__name__
__module____qualname__ra   r   float__annotations__rb   rc   rd   rf        N/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/aiohttp/client.pyrZ   rZ      sD    !E8E?!#GXe_#!%Ix%$(L(5/(NErm   rZ   i,  ra   DEFAULT_TIMEOUT_RetTypec            ?       	    e Zd ZU dZ eg d      ZdZeej                     e
d<   dZee   e
d<   	 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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f6d'Z-d(ed    d&dfd)Z.e/rd*ed+e0d&df fd,Z1e2fd-e0d&dfd.Z3d/ed0ed1e0d&d2fd3Z4d4ed&e5fd5Z6ddddddddd6dddddddedddddddddddd7d/ed4ed8ee7eef      d9e0d:e0dee   dee   deee      dee   d;e!d<e+d=ee   d>ee!   d?e!de"de!e#ege$d   f   f   d@e!dAee   dBee   de"e(e&f   dCee!   dDee8   dEee9   dFe"e9e!e:f   dGee   dHee   dIee;   d"ee+   dee!   d#ee+   d$ee+   d&ef>dJZ<e=j|                  dKdLddddddddddddddddMdNdOd0ed/edPee   de%dQee%   dRe!dSe!dTee%   dee   dUee   d8ee7eef      dee   dAee   dBee   dFe"e9e!de:f   dCee!   dDee8   dEee9   dHee   d=e+dVe+d&dWf,dXZ?e=j|                  dKdLddddddddddddddddMdNdOd0ed/edPee   de%dQee%   dRe!dSe!dTee%   dee   dUee   d8ee7eef      dee   dAee   dBee   dFee"e9e!e:f      dCee!   dDee8   dEee9   dHee   d=e+dVe+d&ef,dYZ@dee   d&dZfd[ZAdd\d0ed;e!d1e0d&d2fd]ZBdd\d0ed;e!d1e0d&d2fd^ZCdd\d0ed;e!d1e0d&d2fd_ZDdd`d0ed9e0d1e0d&d2fdaZEdd`d0ed9e0d1e0d&d2fdbZFdd`d0ed9e0d1e0d&d2fdcZGd0ed1e0d&d2fddZHddeZIeJd&e!fdf       ZKeJd&ee   fdg       ZLeJd&e fdh       ZMeJd&eNe+e+f   fdi       ZOeJd&e!fdj       ZPePj                  d+e!d&dfdk       ZPeJd&ej.                  fdl       ZReJd&e(fdm       ZSeJddn       ZTeJd&eUeV   fdo       ZWeJd&ee   fdp       ZXeJd&efdq       ZYeJd&e!fdr       ZZeJd&e"e!e#ege$d   f   f   fds       Z[eJd&e!fdt       Z\eJd&e!fdu       Z]eJd&e)e*   fdv       Z^ddwZ_ddxZ`dyeeea      dzeea   d{eeb   d&dfd|Zcdd}Zddyeeea      dzeea   d{eeb   d&dfd~Ze xZfS )rY   z/First-class interface for making HTTP requests.)	_base_url_source_traceback
_connectorrequote_redirect_url_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_charsetNrt   ru   TF     c                      y)Nzutf-8rl   )rbs     rn   <lambda>zClientSession.<lambda>   s    rm   )	connectorloopcookiesheadersskip_auto_headersauthjson_serializerequest_classresponse_classws_response_classversion
cookie_jarconnector_ownerraise_for_statusread_timeoutconn_timeouttimeoutauto_decompress	trust_envrv   trace_configsread_bufsizemax_line_sizemax_field_sizefallback_charset_resolverbase_urlr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   r   r   r   r   r   returnc                   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
      |||j                  }t        |      }|t        |t              r|| _        n>t        |      | _        | j                   j#                         | j                   k(  sJ d       |t%        |      }|j                  |urt'        d      || _        |j)                         r-t+        j,                  t/        j0                  d            | _        |t5        |      }|| _        || j6                  j9                  |       || _         || _        || _        || _        || _         || _!        || _"        || _#        || _$        || _%        || _&        || _'        |rtQ        |      }n
tQ               }|| _)        |tU        d |D              | _+        ntU               | _+        |	| _,        |
| _-        || _.        |xs g | _/        | j^                  D ]  }|ja                           || _1        y )Nz8read_timeout is deprecated, use timeout argument instead   
stacklevelro   )rb   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.connectz2Only absolute URLs without path part are supportedr   z0Session and connector has to use same event loopr   c              3   2   K   | ]  }t        |        y wN)r   ).0is     rn   	<genexpr>z)ClientSession.__init__.<locals>.<genexpr>G  s     /SAQ/Ss   )2ru   rH   rp   r~   warningswarnDeprecationWarningattrevolve
isinstancerZ   
ValueErrortyperw   rF   r   rs   originr=   RuntimeError	get_debug	tracebackextract_stacksys	_getframert   r?   rx   update_cookiesry   rz   r{   r|   r   r   r   r}   r   r   r   r   r   	frozensetr   r   r   r   r   freezer   )selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rv   r   r   r   r   r   real_headerstrace_configs                                rn   __init__zClientSession.__init__   s   D 48h'/+DM8+Q& 
 !%DMM N' $DMM< PQ&  g}5 5d7m_ E> >  $DM8+ # 
 ' & 
 <$ %z(C8,4DN ]DN%%'4>>9DCD9 $$/I??$&QRR
>>%.%<%<S]]1=M%ND""-J%++G4# /!-!1 /#%9")+- -8-AL&=L2>(&//SAR/S&SD#&/kD#+-"3+1r // 	"L!	" !:rm   clsc                 n    t        j                  dj                  | j                        t        d       y )Nz6Inheritance class {} from ClientSession is discouragedr   r   )r   r   formatrg   r   )r   s    rn   __init_subclass__zClientSession.__init_subclass__U  s'    #VCLL1		
rm   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      rn   r   zClientSession.__setattr___  s@    4::%%%+VD\& 	 Gc*rm   	_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   ResourceWarningrt   rw   call_exception_handler)r   r   kwargscontexts       rn   __del__zClientSession.__del__i  sv    {{%FINN*4(3_HN *.:STG%%1.2.D.D*+JJ--g6 rm   methodurlr   _RequestContextManagerc                 <    t         | j                  ||fi |      S )zPerform HTTP request.)r   _request)r   r   r   r   s       rn   r[   zClientSession.requestt  s!     &mdmmFC&J6&JKKrm   
str_or_urlc                     t        |      }| j                  |S |j                         s|j                  j	                  d      sJ | j                  j                  |      S )N/)r   rs   is_absolutepath
startswithjoin)r   r   r   s      rn   
_build_urlzClientSession._build_urlz  sP    *o>>!J(SXX-@-@-EEE>>&&s++rm   
   )paramsdatajsonr   r   r   r   allow_redirectsmax_redirectscompresschunked	expect100r   read_until_eofproxy
proxy_authr   
verify_sslfingerprintssl_contextsslserver_hostnameproxy_headerstrace_request_ctxr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  c                F  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                  |      }"t!        | j"                        }$|!|D ]  }%|$j%                  t'        |%              |	 t)        |      }|t*        u r| j,                  }&nt        |t.              st/        |      }&n|}&t1        | j2                  |&j4                  |&j6                        }'|'j9                         }(|| j:                  }|| j<                  }|| j>                  }|| j@                  }| jB                  D )cg c]  })tE        | |)|)jG                  |            ! }*})|*D ],  }+|+jI                  ||"jK                  |      |       d {    . |'jM                         },	 |,5  	 tO        |"      \  }"}-|	r|-rt        d
      |	|-}	|	| jP                  }	||	tR        jT                  |v rt        d      | jV                  jY                  |"      }.|?t[               }/|/j]                  |       |/jY                  |"      }0|0r|.j_                  |0       |t)        |      }n2| j`                  r&tc        td              5  tg        |"      \  }}d d d        | ji                  ||"|||$||.|	|!|||| j2                  | jj                  |||,| ||nd	|||*| jl                        }1	 to        |&jp                  |&j6                        4 d {    | jr                  J | jr                  jq                  |1|*|&       d {   }2d d d       d {    2j|                  J |2j~                  J |2j~                  j                  |,t        |      |||&j                  || jr                  j                  ||	       	 	 |1j                  |2       d {   }4	 |4j9                  |2       d {    	 | jV                  j]                  |4j                  |4j                         |4j                  dv rB|
r?|*D ]-  }+|+j                  ||"jK                  |      ||4       d {    / |dz  }| j                  |4       |r7||k\  r2|4j                          t        | d   j                  t        |             |4j                  dk(  r|4j                  tR        j                  k7  s+|4j                  dv rm|4j                  tR        j                  k(  rPtR        j                  }d }|j                  tR        j                        r|j                  tR        j                         |4j                  j                  tR        j                        xs) |4j                  j                  tR        j                        }5|5n|4j                          	 t)        |5| j                         }6|6j                  }7|7dvr|4j                          t        d      |7s|"j                  |6      }6|"j                         |6j                         k7  r"d }	|j                  tR        jT                  d        |6}"i }|4j                          	 d d d        || j                  }|n.t        |      r |4       d {    n|r4j                          |(B4j                  &|4j                  j                  |(j                         n|(j                          t        |       4_i        |*D ]-  }+|+j                  ||"jK                  |      ||4       d {    / |4S # t        $ r}#t        |      |#d }#~#ww xY w# t        $ r}#t        |      |#d }#~#ww xY wc c})w 7 # 1 sw Y   xY w7 7 U7 H# 1 d {  7  sw Y   YxY w# tt        jv                  $ r }3ty        dj{                  |"            |3d }3~3ww xY w7 7 # t        $ r |4j                           w xY w# t        $ r |2j                           w xY w# t        $ r  t        $ r?}3|3j                  t        |3tt        jv                        r t        |3j                   |3d }3~3ww xY w7 # t        $ r}#t        |5      |#d }#~#ww xY w# 1 sw Y   +xY w7 7 s# t        $ r]}#|'j                          |(r|(j                          d }(|*D ].  }+|+j                  ||"jK                  |      ||#       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   ro   )rf   )r  Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)r   r   r   r   r   r   r   r   r   r   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   )-  .  /  i3  i4  r   r  )r
  r  )encoded)r   https z"Can redirect only to http or https)lr   r   r9   r   r    JsonPayloadr|   r   boolr   r   r   r{   _prepare_headersr   r.   setr   addr   r   rH   r~   rZ   rC   rw   ra   rf   startr   r   r   r   r   rS   trace_config_ctxsend_request_startupdate_queryr  rI   rz   r   AUTHORIZATIONrx   filter_cookiesr?   r   loadr   r   LookupErrorrE   r   r   r   rD   rb   ru   asyncioTimeoutErrorr2   r   	transportprotocolset_response_paramsrG   rc   _timeout_ceil_thresholdsendBaseExceptioncloser&   OSErrorerrnor(   argsr   r   statussend_request_redirectappendr3   request_infotupler   	METH_HEAD	METH_POSTMETH_GETgetCONTENT_LENGTHpopr   LOCATIONURIreleaser}   schemer   r   r   callabler   
connectionadd_callbackcancel_historysend_request_endsend_request_exception)8r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   	redirectshistoryr   r   eskip_headersr   real_timeouttmhandler   r  tracer  auth_from_urlall_cookiestmp_cookie_jarreq_cookiesreqconnexcrespr_url
parsed_urlr7  s8                                                           rn   r   zClientSession._request  s	    R ;;233ZkJ 0K  &&t43G3GHD'4(W-@MM:<NO	--2 ''0--m<	0//*-C 4223(& *  a)* /E
 h*.--Lg}5,7;& JJ**<;V;V
 --L""33O  //M!!11N !% 3 3
  --@Q-R
 
  	VE**633C3CF3KWUUU	V 
Z	 r)<S)A&C(9 
 |,|#11  + , ..'9(-  #'"2"2"A"A#"FK*)2&55g>&4&C&CC&H&',,[9( #E
%k2 K0Ec0J-E:K --% '*6! +! '!) '"+!ZZ'+';';##-# $#&?C(7&3%"&../ . C6##/(00+7+F+F$   $(??#>>#>)-)@)@ #FL *A * $D   >>555==444MM55#%>v%F'5(7%1%;%;%1/3/V/V&3'5 6 
@	"),$#7D&&*jj&6 6 6 $$33DLL$((K {{&??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;), %43M3M/M*J ",!2!2!)>> JJL",-Q"RR!'),*)=J::<:+<+<+>>#'D#KK(:(:DA(!# erj  '#'#9#9 '*+&t,,,!%%' !??.OO00?MMO!'NDM ,,C,,V4gt   KE  	0Z(a/	0  / 'Q./:
 VTK K>
$    #// #0>EEcJ"##, $8 6#0 & $

 %&  - " JJL!" ' " @99,CAUAU1V!+SXX6C?@L  * ;",U"3:;r rv -
  	HHJ 22C,,V4gq   	s  B<f!?_ :f!_( B6f!$`0,f!`
f!4d8 6Cd%`Ad%/%`9``90`#`	`#`9` `9A'd%ba/b a54a25a59A.d%'d(E#d%d$Bd%</d8 +d2,Bd8 d5d8 
f!	_%_  _%%f!(	`1_==`	f!`	d%`9`# `9#`6	)`,*`6	1`99a,a''a,,d%/b2a55bbb..b11d:c==dd%	d"dd""d%%d/*	d8 5d8 8	fAfffff!rl   g      $@r   i  @ r   	protocolsr   receive_timeout	autocloseautoping	heartbeatr   r   r   r   r   r   r   r   r   r   r  r   max_msg_sizerR  rS  rT  rU  rV  r   rW  _WSRequestContextManagerc                `    t        | j                  |||||||||	|
|||||||||||            S )zInitiate websocket connection.rQ  )rX  _ws_connect)r   r   r   rR  r   rS  rT  rU  rV  r   r   r   r   r   r   r   r   r   r   r  r   rW  s                         rn   
ws_connectzClientSession.ws_connect  sc    4 (# /#!#%%''+!)+  
 	
rm   c                
  K   |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        j                  <   |rt!        |      }||t        j"                  <   |d}t%        ||||      }| j'                  ||||d|	||||	
       d {   }	 |j(                  d
k7  r8t+        |j,                  |j.                  d|j(                  |j0                        |j0                  j3                  t        j                  d      j5                         dk7  r8t+        |j,                  |j.                  d|j(                  |j0                        |j0                  j3                  t        j                  d      j5                         dk7  r8t+        |j,                  |j.                  d|j(                  |j0                        |j0                  j3                  t        j6                  d      }t        j                  t9        j:                  |t<        z         j?                               j                         }||k7  r8t+        |j,                  |j.                  d|j(                  |j0                        d }|rrt        j                  |j0                  v rV|j0                  t        j                     jA                  d      D  cg c]  } | jC                          }!} |!D ]
  } | |v s| } n d}"|r?|j0                  j3                  t        j"                        }#|#r	 tE        |#      \  }}"nd}d}"|jJ                  }%|%J |%jL                  }&|&J |%jN                  }'|'J tQ        |&d| jR                        }(|&jU                  tW        |(|      |(       tY        |&|'d||"      })| j[                  |(|)|||||| jR                  ||||"      S 7 9c c} w # tF        $ rK}$t+        |j,                  |j.                  |$jH                  d   |j(                  |j0                        |$d }$~$ww xY w# t\        $ r |j_                           w xY ww)N	websocketUpgrade13   ,)r   TF)r   r   r   r   r   r   r   r  e   zInvalid response status)r   r)  r   r  zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responser   r   r   )use_maskr   
notakeover)rS  rV  r   client_notakeover)0r   r   UPGRADE
CONNECTIONSEC_WEBSOCKET_VERSIONitems
setdefaultbase64	b64encodeosurandomdecodeSEC_WEBSOCKET_KEYr   SEC_WEBSOCKET_PROTOCOLORIGINrP   SEC_WEBSOCKET_EXTENSIONSr9   r[   r)  r4   r,  r@  r   r1  lowerSEC_WEBSOCKET_ACCEPThashlibsha1rJ   digestsplitstriprQ   rN   r(  r9  r   r  rR   rw   
set_parserrL   rM   r   r$  r%  )*r   r   r   rR  r   rS  rT  rU  rV  r   r   r   r   r   r   r   r   r   r   r  r   rW  r   default_headerskeyvaluesec_keyextstrrN  r_keymatchr   protoresp_protocolsre  compress_hdrsrM  rL  
conn_protor  readerwriters*                                             rn   rZ  zClientSession._ws_connect
  s    4 ?-8]L&w/L LL+OOY&&
 *//1 	0JC##C/	0 ""2::b>2/6~~/?T++,8;8KL445(.L%2F:@L667 ;CZkJ \\  !' " 
 
k	{{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" KKM" "
 , E	)#( J $ 0 01N1N O 	#/;M/J,*  !H!&J??D###J)))I(((6JE

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

 /#!", +  W
r"" , #4 -- LL$'HHQK#';;$(LL  ###:  	JJL	si   ET 
RT H-S" =RS"  4S" R #A9S" (T S" 	SASSS" "S==T 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   r  rj  r  )r   r   resultadded_namesr~  r  s         rn   r  zClientSession._prepare_headers  s     T223g	'BC%g.$'EK%mmo )
U+%JJsE*"'F3KOOC() rm   )r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP GET request.r   )r   r   r   r0  r   r   r   r   s       rn   r1  zClientSession.get  s0     &DMM$--XoXQWX
 	
rm   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP OPTIONS request.r   )r   r   r   METH_OPTIONSr  s       rn   optionszClientSession.options  s:     &DMM!!38GKQ
 	
rm   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP HEAD request.r   )r   r   r   r.  r  s       rn   headzClientSession.head  s8     &DMM5DHN
 	
rm   )r   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP POST request.r   )r   r   r   r/  r   r   r   r   s       rn   postzClientSession.post  s/     &DMM$..#CDCFC
 	
rm   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PUT request.r   )r   r   r   METH_PUTr  s       rn   putzClientSession.put  s/     &DMM$--B4B6B
 	
rm   c                \    t         | j                  t        j                  |fd|i|      S )zPerform HTTP PATCH request.r   )r   r   r   
METH_PATCHr  s       rn   patchzClientSession.patch  s/     &DMM$//3DTDVD
 	
rm   c                 X    t         | j                  t        j                  |fi |      S )zPerform HTTP DELETE request.)r   r   r   METH_DELETE)r   r   r   s      rn   deletezClientSession.delete  s%    %mdmmD4D4Dc&TV&TUUrm   c                    K   | j                   sB| j                  .| j                  r"| j                  j                          d{    d| _        yy7 w)zMClose underlying connector.

        Release all acquired resources.
        N)r   ru   ry   r%  r   s    rn   r%  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)ru   r   r  s    rn   r   zClientSession.closed  s"     $&@$//*@*@@rm   c                     | j                   S )z(Connector instance used for the session.ru   r  s    rn   r   zClientSession.connector  s     rm   c                     | j                   S )zThe session cookies.)rx   r  s    rn   r   zClientSession.cookie_jar  s     rm   c                     | j                   S )z"The session HTTP protocol version.)r{   r  s    rn   r   zClientSession.version!       }}rm   c                     | j                   S ))Do URL requoting on redirection handling.)r}   r  s    rn   rv   z"ClientSession.requote_redirect_url&  s     )))rm   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     rn   rv   z"ClientSession.requote_redirect_url+  s#     	N	

 &)"rm   c                 R    t        j                  dt        d       | j                  S )zSession's loop.z"client.loop property is deprecatedr   r   )r   r   r   rw   r  s    rn   r   zClientSession.loop5  s%     	02DQR	
 zzrm   c                     | j                   S )zTimeout for the session.)r~   r  s    rn   r   zClientSession.timeout=  r  rm   c                     | j                   S )z*The default headers of the client session.)r   r  s    rn   r   zClientSession.headersB       $$$rm   c                     | j                   S )z2Headers for which autogeneration should be skipped)r   r  s    rn   r   zClientSession.skip_auto_headersG  s     &&&rm   c                     | j                   S )z2An object that represents HTTP Basic Authorization)rz   r  s    rn   r   zClientSession.authL  s     !!!rm   c                     | j                   S )zJson serializer callable)r|   r  s    rn   r   zClientSession.json_serializeQ  s     ###rm   c                     | j                   S )z-Should connector be closed on session closing)ry   r  s    rn   r   zClientSession.connector_ownerV  r  rm   c                     | j                   S )zGShould `ClientResponse.raise_for_status()` be called for each response.)r   r  s    rn   r   zClientSession.raise_for_status[  s    
 %%%rm   c                     | j                   S )z7Should the body response be automatically decompressed.)r   r  s    rn   r   zClientSession.auto_decompressb  r  rm   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    rn   r   zClientSession.trust_envg  s     rm   c                     | j                   S )z7A list of TraceConfig instances used for client tracing)r   r  s    rn   r   zClientSession.trace_configsq  s     """rm   c                     d| _         y)zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr  r  s    rn   detachzClientSession.detachv  s    
 rm   c                     t        d      )NzUse async with instead)	TypeErrorr  s    rn   	__enter__zClientSession.__enter__}  s    011rm   exc_typeexc_valexc_tbc                      y r   rl   r   r  r  r  s       rn   __exit__zClientSession.__exit__  s     	rm   c                    K   | S wr   rl   r  s    rn   
__aenter__zClientSession.__aenter__  s     s   c                 @   K   | j                          d {    y 7 wr   )r%  r  s       rn   	__aexit__zClientSession.__aexit__  s      jjls   r   r   N)r   r  )r   rY   )grg   rh   ri   __doc__r   r   rt   r   r   StackSummaryrk   ru   r;   r   r  r5   r6   r:   r   HttpVersion11rH   rX   r  AbstractEventLooprV   rW   r   strrB   rU   r   rK   r!   r  r   r	   r   rj   r@   objectrZ   r   rT   int_CharsetResolverr   r   rA   r   r   r   r   r[   r   r   r   bytesr\   r7   r   r   r   r0  r[  rZ  r  r1  r  r  r  r  r  r  r%  propertyr   r   r   r   r   rv   setterr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r$  r   r  r  r  __classcell__)r   s   @rn   rY   rY      s   9	
E< ;?x	 6 67>*.J'. (,F: .248*.*.59$(&*jj-:/=;R#1126 $ 08(,08 $%)59!!"6J=F:8$F: M*	F:
 w001F: ,'F: ,'F: $HSM2F: y!F: $F: M*F: ^,F:   78F: F: ./F:  !F:"  (N+Yt_<==
#F:( E9,-)F:* uo+F:, v},--F:. /F:0 1F:2 #3F:4  [ 125F:6 7F:8 9F:: ;F:< $4=F:> 
?F:P
tO4 
 
 	+C 	+c 	+d 	+ (0 	7 	7D 	7LL (L47L	!L,X ,# , /3*.*.59$( $"&"& #$(*.3;%)'+,048)-047;&**.'+(,ERR R
 c*+R R R ,'R ,'R $HSM2R y!R R R 3-R $R  !R"  $.!19T?!BCC
#R( )R* !+R, Y'-R. }i/0/R0 TN1R2 e_3R4 j)5R6 :t[017R8 "#9R:  -;R< $O4=R> sm?R@ "$ARB  }CRD !ERF 
GRp
 mm#%+/%)$( $.2*.$(*.:>%)'+,004+/2
2
 	2

 C=2
 2
 "%2
 2
 2
 E?2
 y!2
 2
 c*+2
 ,'2
 !2
  Y'!2
" :tT;67#2
$ TN%2
& e_'2
( j))2
*  -+2
, -2
. /2
0 
$12
p mm#%+/%)$( $.2*.$(*.>B%)'+,004+/qq 	q
 C=q q "%q q q E?q y!q q c*+q ,'q !q  Y'!q" eJk9:;#q$ TN%q& e_'q( j))q*  -+q, -q. /q0 
!1qf(> CU " 9=

15
HK
	!
 9=

15
HK
	!
 9>

15
IL
	!
 -1

&)
<?
	!
 -1

&)
<?
	!
 -1

&)
<?
	!
V( Vc V6N V# A A A 8M2    -     sCx   *d * *   ) ) ) !) g//      % % '9T? ' ' "hy) " " $ $ $ % % % &	tX~.	$?@@	A& & % % % 4   #tK0 # #24./ -( '	
 
4./ -( '	
 
rm   rY   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y)_BaseRequestContextManager_coro_respcoroasyncio.Future[Any]Nr   c                     || _         y r   )r  )r   r  s     rn   r   z#_BaseRequestContextManager.__init__  s	    
rm   c                 8    | j                   j                  |      S r   )r  r#  )r   args     rn   r#  z_BaseRequestContextManager.send  s    zzs##rm   r(  r   c                 :     | j                   j                  |i |S r   )r  throw)r   r(  r   s      rn   r  z _BaseRequestContextManager.throw  s    tzz000rm   c                 6    | j                   j                         S r   )r  r%  r  s    rn   r%  z _BaseRequestContextManager.close  s    zz!!rm   c                 :    | j                   j                         }|S r   )r  	__await__)r   rets     rn   r  z$_BaseRequestContextManager.__await__  s    jj""$
rm   c                 "    | j                         S r   )r  r  s    rn   __iter__z#_BaseRequestContextManager.__iter__  s    ~~rm   c                 X   K   | j                    d {   | _        | j                  S 7 wr   r  r  s    rn   r  z%_BaseRequestContextManager.__aenter__  s#     ::%
zz &s   *(*)r  Nr   r  r  )rg   rh   ri   	__slots__r
   rq   r   r#  r   r  r%  r   r  r  r  rl   rm   rn   r  r    s    "IY'<dH'LM RV $13 1# 12G 1"9S$%89  )Cx$78  ( rm   r  c                   @    e Zd ZdZdeee      dee   dee   ddfdZy)r   rl   r  rM  tbr   Nc                    K   | j                   j                          | j                   j                          d {    y 7 wr   )r  r6  wait_for_closer   r  rM  r  s       rn   r  z _RequestContextManager.__aexit__  s.      	

jj'')))s   8AA A	rg   rh   ri   r  r   r   r$  r   r  rl   rm   rn   r   r     sF    I*4./* m$* ]#	*
 
*rm   r   c                   @    e Zd ZdZdeee      dee   dee   ddfdZy)rX  rl   r  rM  r  r   Nc                 T   K   | j                   j                          d {    y 7 wr   )r  r%  r  s       rn   r  z"_WSRequestContextManager.__aexit__  s      jj   s   (&(r  rl   rm   rn   rX  rX    sF    I!4./! m$! ]#	!
 
!rm   rX  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      rn   r   z&_SessionRequestContextManager.__init__  s    
 
/3
rm   c                    K   	 | j                    d {   | _        | j                  S 7 # t        $ r% | j                  j	                          d {  7    w xY wwr   )r  r  r$  r  r%  r  s    rn   r  z(_SessionRequestContextManager.__aenter__  sQ     	#zz)DJ
 :: * 	--%%'''	s1   A+ )	+ A+ &AAAAr  rM  r  c                    K   | j                   J | j                   j                          | j                  j                          d {    y 7 wr   )r  r%  r  r  s       rn   r  z'_SessionRequestContextManager.__aexit__  s>      zz%%%

mm!!###s   AAA	A)rg   rh   ri   r  r
   r6   rY   r   r  r   r   r$  r   r  rl   rm   rn   r  r    s    .I -t^CD    
	 . $4./$ m$$ ]#	$
 
$rm   r  r   Fr   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   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   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r=   rY   r  r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  s                              rn   r[   r[     s    @ O d=	'G )/+'-)!%')) 	 	
, 	/ rm   )r  r  rl  rw  r   rn  r   r   r   
contextlibr   typesr   r   typingr   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    abcr!   client_exceptionsr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   client_reqrepr5   r6   r7   r8   r9   	client_wsr:   r   r;   r<   r=   r>   	cookiejarr?   helpersr@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   http_websocketrN   rO   rP   rQ   streamsrR   tracingrS   rT   typedefsrU   rV   rW   rX   __all__r   r\   srZ   rp   rk   rq   r  r  r  rY   r  r   rX  r  r  r  r  r  r  r[   rl   rm   rn   <module>r
     sR        	 
    0    *  B B  ! ! "     *  J  !   H G Q Q ) ' G G%P J T$d3  4, )6F(C}% C:^U3S89 i iX3X+=!>@Q 8*7G *$	!9:QR 	!$ $J +/&*15 $ ""'+ $&*,4&*--)-"&045ff	f WS#X&'	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rm   