
    bCi              5          % S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
  SSKJrJr  SSKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r   SSK!r!SSK"J#r#J$r$J%r%J&r&  SSK'J(r(  SS	K)J*r*J+r+J,r,  SS
K-J.r.  SSK/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrB  SSKCJDrDJErEJFrFJGrGJHrH  SSKIJJrJ  SSKKJLrLJMrMJNrNJOrO  SSKPJQrQ  SSKRJSrSJTrTJUrUJVrVJWrWJXrXJYrYJZrZJ[r[J\r\  SSK+J]r]J^r^J_r_J`r`  SSKaJbrbJcrcJdrdJere  SSKfJgrg  SSKhJiriJjrj  SSKkJlrlJmrmJnrnJoro  Srp\(       a  SSKqJrrr  OSrr\!R                  " SSSS9 " S S5      5       rt\t" SS9ru\\t   \vS'   \" S5      rw\\E\x/\y4   rz " S  S!5      r{ " S" S#\\\\w4   \\w   5      r| " S$ S%\|\E   5      r} " S& S'\|\J   5      r~ " S( S)5      rSSSSSSSS*SSS+SSSS\[S\+GR                   SSSS,S,S-.S.\yS/\oS0\\\y\y4      S1\S2\S3\\n   S4\\\y      S5\\U   S6\S7\S8\\y   S9\\   S:\S;\\   S<\S=\\o   S>\\U   S?\ \t\4   S@\\m   SA\^SB\\L   SC\\   SD\\GR                     SE\SF\SG\44SH jjrg)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                   t    \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
\\   \S'   Sr\\S'   S	rg)
rZ      Ntotalconnect	sock_readsock_connect   ceil_threshold )__name__
__module____qualname____firstlineno__rb   r   float__annotations__rc   rd   re   rg   __static_attributes__rh       H/home/james-whalen/.local/lib/python3.13/site-packages/aiohttp/client.pyrZ   rZ      sD    !E8E?!#GXe_#!%Ix%$(L(5/(NErp   rZ   i,  rb   DEFAULT_TIMEOUT_RetTypec            ?       	  ^  \ rS rSr% Sr\" / SQ5      rSr\\	R                     \S'   Sr\\   \S'    SSSSSSS\R                  \\\\R(                  SSS\S\SSSSS	S
S
S S.S\\   S\\   S\\R0                     S\\   S\\   S\\\      S\\   S\S\\   S\\   S\\   S\ S\\!   S\"S\#\"\$\/\%S   4   4   S\#\&\'4   S\\&   S\#\(\)4   S\"S \"S!\"S"\\*\+      S#\,S$\,S%\,S&\-S'S46S( jjjr.S)\S    S'S4S* jr/\0(       a  S+\S,\1S'S4U 4S- jjr2\34S.\1S'S4S/ jjr4S0\S1\S2\1S'S34S4 jr5S5\S'\64S6 jr7SSSSSSSSS7SSSSSSS\SSSSSSSSSSSS8.S0\S5\S9\\8\\4      S:\1S;\1S\\   S\\   S\\\      S\\   S<\"S=\,S>\\   S?\\"   S@\"S\#S\"\$\/\%S   4   4   SA\"SB\\   SC\\   S\#\)\'4   SD\\"   SE\\9   SF\\:   SG\#\:\"\;4   SH\\   SI\\   SJ\\<   S#\\,   S\\"   S$\\,   S%\\,   S'\4>SK jjr=\>R~                  SLSMSSSSSSSSSSSSSSSSNSOSP.S1\S0\SQ\\   S\&SR\\&   SS\"ST\"SU\\&   S\\   SV\\   S9\\8\\4      S\\   SB\\   SC\\   SG\#\:\"S\;4   SD\\"   SE\\9   SF\\:   SI\\   S>\,SW\,S'SX4,SY jjr@\>R~                  SLSMSSSSSSSSSSSSSSSSNSOSP.S1\S0\SQ\\   S\&SR\\&   SS\"ST\"SU\\&   S\\   SV\\   S9\\8\\4      S\\   SB\\   SC\\   SG\\#\:\"\;4      SD\\"   SE\\9   SF\\:   SI\\   S>\,SW\,S'\4,SZ jjrAS\\   S'S[4S\ jrBSS].S1\S<\"S2\1S'S34S^ jjrCSS].S1\S<\"S2\1S'S34S_ jjrDSS].S1\S<\"S2\1S'S34S` jjrESSa.S1\S:\1S2\1S'S34Sb jjrFSSa.S1\S:\1S2\1S'S34Sc jjrGSSa.S1\S:\1S2\1S'S34Sd jjrHS1\S2\1S'S34Se jrISSf jrJ\KS'\"4Sg j5       rL\KS'\\   4Sh j5       rM\KS'\!4Si j5       rN\KS'\O\,\,4   4Sj j5       rP\KS'\"4Sk j5       rQ\QR                  S,\"S'S4Sl j5       rQ\KS'\R0                  4Sm j5       rS\KS'\)4Sn j5       rT\KSSo j5       rU\KS'\V\W   4Sp j5       rX\KS'\\   4Sq j5       rY\KS'\4Sr j5       rZ\KS'\"4Ss j5       r[\KS'\#\"\$\/\%S   4   4   4St j5       r\\KS'\"4Su j5       r]\KS'\"4Sv j5       r^\KS'\*\+   4Sw j5       r_SSx jr`SSy jraSz\\\b      S{\\b   S|\\c   S'S4S} jrdSS~ jreSz\\\b      S{\\b   S|\\c   S'S4S jrfSrgU =rh$ )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_charsetNrx   ry   TF     c                     g)Nzutf-8rh   )rbs     rq   <lambda>ClientSession.<lambda>   s    7rp   )	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_envrz   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   rz   r   r   r   r   r   returnc                   S U l         U[        L d  Uc  [        U l        U[        La>  [        R
                  " S[        SS9  [        R                  " U R                  US9U l        Ub>  [        R                  " U R                  US9U l        [        R
                  " S[        SS9  OV[        U[        5      (       d  [        S[        U5       S35      eUU l        U[        La  [        S	5      eUb  [        S
5      eUc  Ub  UR                  n[        U5      nUb  [        U[        5      (       a  Xl        O?[        U5      U l        U R                   R#                  5       U R                   :X  d   S5       eUc	  [%        US9nUR                  ULa  ['        S5      eX0l        UR)                  5       (       a/  [*        R,                  " [.        R0                  " S5      5      U l        Uc	  [5        US9nXl        Ub  U R6                  R9                  U5        X l         Xl        Xpl        Xl        Xl         Xl!        UU l"        UU l#        UU l$        UU l%        UU l&        UU l'        U(       a  [Q        U5      nO
[Q        5       nUU l)        Ub  [U        S U 5       5      U l+        O[U        5       U l+        Xl,        Xl-        Xl.        U=(       d    / U l/        U R^                   H  nURa                  5         M     UU l1        g )Nz8read_timeout is deprecated, use timeout argument instead   
stacklevelrr   )rc   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   8   #    U  H  n[        U5      v   M     g 7fN)r   ).0is     rq   	<genexpr>)ClientSession.__init__.<locals>.<genexpr>G  s     /SARAQARs   )2ry   rH   rs   r   warningswarnDeprecationWarningattrevolve
isinstancerZ   
ValueErrortyper{   rF   r   rw   originr=   RuntimeError	get_debug	tracebackextract_stacksys	_getframerx   r?   r|   update_cookiesr}   r~   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   rz   r   r   r   r   r   real_headerstrace_configs                                rq   __init__ClientSession.__init__   s   D 48h'/+DM8+Q& 
 !%DMM N' $DMM< PQ&  g}55 5d7m_ E> >  $DM8+ # 
 ' & 
 <$ %z(C88,4N ]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! 0 !:rp   clsc                 j    [         R                  " SR                  U R                  5      [        SS9  g )Nz6Inheritance class {} from ClientSession is discouragedr   r   )r   r   formatri   r   )r   s    rq   __init_subclass__ClientSession.__init_subclass__U  s'    #VCLL1		
rp   namevalc                    > XR                   ;  a)  [        R                  " SR                  U5      [        SS9  [
        TU ]  X5        g )Nz8Setting custom ClientSession.{} attribute is discouragedr   r   )ATTRSr   r   r   r   super__setattr__)r   r   r   	__class__s      rq   r   ClientSession.__setattr___  s<    ::%%%+VD\& 	 G*rp   	_warningsc                     U R                   (       d]  SU 0nUR                  " SU < 3[        40 UD6  U SS.nU R                  b  U R                  US'   U R                  R                  U5        g g )NsourcezUnclosed client session zUnclosed client session)client_sessionmessagesource_traceback)closedr   ResourceWarningrx   r{   call_exception_handler)r   r   kwargscontexts       rq   __del__ClientSession.__del__i  st    {{%FNN*4(3_HN *.:STG%%1.2.D.D*+JJ--g6 rp   methodurlr   _RequestContextManagerc                 :    [        U R                  " X40 UD65      $ )zPerform HTTP request.)r   _request)r   r   r   r   s       rq   r[   ClientSession.requestt  s     &dmmF&J6&JKKrp   
str_or_urlc                     [        U5      nU R                  c  U$ UR                  5       (       d   UR                  R	                  S5      (       d   eU R                  R                  U5      $ )N/)r   rw   is_absolutepath
startswithjoin)r   r   r   s      rq   
_build_urlClientSession._build_urlz  sV    *o>>!J((SXX-@-@-E-EEE>>&&s++rp   
   )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                ^  #    U R                   (       a  [        S5      e[        UUUU5      nUb  Ub  [        S5      eUb  [        R
                  " XPR                  S9n[        U[        5      (       d  Ub  [        R                  " S[        5        Sn/ n U R                  n!U=(       d    0 nU R                  U5      nU R                  U5      n U R                  U5      n"[!        U R"                  5      n$Ub#  U H  n%U$R%                  ['        U%5      5        M     Ub   [)        U5      nU[*        L a  U R,                  n&O![        U[.        5      (       d
  [/        US9n&OUn&[1        U R2                  U&R4                  U&R6                  S9n'U'R9                  5       n(Uc  U R:                  nUc  U R<                  nUc  U R>                  nUc  U R@                  nU RB                   V)s/ s H  n)[E        U U)U)RG                  US95      PM     n*n)U* H-  n+U+RI                  UU"RK                  U5      U5      I S h  vN   M/     U'RM                  5       n, U,    [O        U"5      u  n"n-U	(       a  U-(       a  [        S
5      eU	c  U-n	U	c  U RP                  n	Ub"  U	b  [R        RT                  U;   a  [        S5      eU RV                  RY                  U"5      n.UbD  [[        5       n/U/R]                  U5        U/RY                  U"5      n0U0(       a  U.R_                  U05        Ub  [)        U5      nO7U R`                  (       a&  [c        [d        5         [g        U"5      u  nnS S S 5        U Ri                  UU"UUU$UU.U	U!UUUU R2                  U Rj                  UUU,U Ub  UOS	UUU*U Rl                  S9n1 [o        U&Rp                  U&R6                  S9 IS h  vN   U Rr                  c   eU Rr                  Rq                  U1U*U&S9I S h  vN n2S S S 5      IS h  vN   W2R|                  c   eU2R~                  c   eU2R~                  R                  U,[        U5      UUU&R                  UU Rr                  R                  UUS9	    U1R                  U25      I S h  vN n4 U4R9                  U25      I S h  vN   U RV                  R]                  U4R                  U4R                  5        U4R                  S;   Gai  U
(       Gaa  U* H.  n+U+R                  UU"RK                  U5      UU45      I S h  vN   M0     US-  nU R                  U45        U(       a8  UU:  a2  U4R                  5         [        U S   R                  [        U 5      5      eU4R                  S:X  a  U4R                  [R        R                  :w  d.  U4R                  S;   as  U4R                  [R        R                  :X  aU  [R        R                  nS nUR                  [R        R                  5      (       a  UR                  [R        R                  5        U4R                  R                  [R        R                  5      =(       d)    U4R                  R                  [R        R                  5      n5U5c  OU4R                  5          [)        U5U R                  (       + S9n6U6R                  n7U7S;  a  U4R                  5         [        S5      eU7(       d  U"R                  U65      n6U"R                  5       U6R                  5       :w  a"  S n	UR                  [R        RT                  S 5        U6n"0 nU4R                  5         GM    S S S 5        Uc  U R                  nUc  O8[        U5      (       a  U" W45      I S h  vN   OU(       a  W4R                  5         U(bC  W4R                  b&  U4R                  R                  U(R                  5        OU(R                  5         [        U 5      W4li        U* H.  n+U+R                  UU"RK                  U5      UU45      I S h  vN   M0     U4$ ! [         a  n#[        U5      U#eS n#A#ff = f! [         a  n#[        U5      U#eS n#A#ff = fs  sn)f  GN>! , (       d  f       GN*= f GN GN GN! , IS h  vN  (       d  f       GN= f! [t        Rv                   a   n3[y        SR{                  U"5      5      U3eS n3A3ff = f GNZ GNC! [         a    U4R                  5         e f = f! [         a    U2R                  5         e f = f! [         a    e [         aE  n3U3R                  c   [        U3[t        Rv                  5      (       a  e [        U3R                  6 U3eS n3A3ff = f GNg! [         a  n#[        U55      U#eS n#A#ff = f! , (       d  f       GNX= f GN- GN! [         ad  n#U'R                  5         U((       a  U(R                  5         S n(U* H/  n+U+R                  UU"RK                  U5      UU#5      I S h  vN    M1     e S n#A#ff = f7f)NzSession is closedz9data and json parameters can not be used at the same time)dumpszChunk size is deprecated #1615r   rr   )rg   )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   r{   rb   rg   startr   r   r   r   r   rS   trace_config_ctxsend_request_startupdate_queryr  rI   r~   r   AUTHORIZATIONr|   filter_cookiesr?   r   loadr   r   LookupErrorrE   r   r   r   rD   rc   ry   asyncioTimeoutErrorr2   r   	transportprotocolset_response_paramsrG   rd   _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_urlrC  s8                                                           rq   r   ClientSession._request  s_	    R ;;233ZkJ 0K  &&t3G3GHD'4((W-@MM:<NO	--2 ''0--m<	0//*-C 4223(&  a) ' /E
 h*.--Lg}55,7;& JJ**<;V;V
 --L""33O  //M!!11N !% 3 3
 !4 --@Q-R
 !4 	 
 E**633C3CF3KWUUU  
Z	)<S)A&C(9 
 |,|#11  + , ..'9(-  #'"2"2"A"A#"FK*)2&55g>&4&C&CC&H&',,[9( #E
%k20Ec0J-E: 3 --% '*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 j  '#'#9#9 '*++&t,,,!%%' !??.OO00?MMO!'NDM,,C,,V4gt     KE  	0Z(a/	0  / 'Q./:
 VT 32>$
$$ $ $ $ #// #0>EEcJ"##, $8 6#0 & $

 %&  - " JJL!" ' " @99,CAUAU1V1V!+SXX6C?@L  * ;",U"3:; v -
  	HHJ22C,,V4gq     	s  Ch-`2 !>h- a +B:h-%$a.	,h-5a36h-f< C3f$a6Af$$"b,bb,
.b8b9b=b,b	b,A&f$5d	c#
dc)#c&$c)(A4f$fE;f$f2B!f$6f< 	f6
Bf< 'f9(	f< 1h-2
a<aah-
a+a&&a++	h-6
b	 f$b,bb,b)	bb)	$b,'f$)b,,c  cc  f$#d&c))ddd$$d''f ;A e;;f  f$
f!ff!!f$$
f3.	f< 9f< <
h*Ah%h
h%%h**h-rh   g      $@r   i  @ r   	protocolsr   receive_timeout	autocloseautoping	heartbeatr   r   r   r   r  r  r  r  r	  r
  r  r  max_msg_sizer_  r`  ra  rb  rc  r   rd  _WSRequestContextManagerc                Z    [        U R                  UUUUUUUUU	U
UUUUUUUUUUUS95      $ )zInitiate websocket connection.r^  )re  _ws_connect)r   r   r   r_  r   r`  ra  rb  rc  r   r   r   r   r  r  r  r  r	  r
  r  r  rd  s                         rq   
ws_connectClientSession.ws_connect  sc    4 (# /#!#%%''+!)+  
 	
rp   c                0
  #    Uc  [        5       nO[        U5      n[        R                  S[        R                  S[        R                  S0nUR                  5        H  u  nnUR                  UU5        M     [        R                  " [        R                  " S5      5      nUR                  5       U[        R                  '   U(       a"  SR                  U5      U[        R                  '   U
b  U
U[        R                  '   U(       a  [!        US9nUU[        R"                  '   Uc  Sn[%        UUUU5      nU R'                  UUUUSU	UUUUS	9
I S h  vN n UR(                  S
:w  a5  [+        UR,                  UR.                  SUR(                  UR0                  S9eUR0                  R3                  [        R                  S5      R5                  5       S:w  a5  [+        UR,                  UR.                  SUR(                  UR0                  S9eUR0                  R3                  [        R                  S5      R5                  5       S:w  a5  [+        UR,                  UR.                  SUR(                  UR0                  S9eUR0                  R3                  [        R6                  S5      n[        R                  " [8        R:                  " U[<        -   5      R?                  5       5      R                  5       nUU:w  a5  [+        UR,                  UR.                  SUR(                  UR0                  S9eS nU(       a{  [        R                  UR0                  ;   a]  UR0                  [        R                     RA                  S5       V s/ s H  n U RC                  5       PM     n!n U! H  n U U;   d  M  U n  O   Sn"U(       aD  UR0                  R3                  [        R"                  5      n#U#(       a   [E        U#5      u  nn"OSnSn"URJ                  n%U%c   eU%RL                  n&U&c   eU%RN                  n'U'c   e[Q        U&SU RR                  S9n(U&RU                  [W        U(U5      U(5        [Y        U&U'SUU"S9n)U R[                  U(U)UUUUUU RR                  UUUU"S9$  GNEs  sn f ! [F         aH  n$[+        UR,                  UR.                  U$RH                  S   UR(                  UR0                  S9U$eS n$A$ff = f! [\         a    UR_                  5         e f = f7f)N	websocketUpgrade13   ,)r  TF)r   r   r  r   r  r  r  r  e   zInvalid response status)r   r5  r   r  zInvalid upgrade headerupgradezInvalid connection headerzInvalid challenge responser   r   r   )use_maskr  
notakeover)r`  rc  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[   r5  r4   r8  rL  r   r=  lowerSEC_WEBSOCKET_ACCEPThashlibsha1rJ   digestsplitstriprQ   rN   r4  rE  r,  r+  rR   r{   
set_parserrL   rM   r   r0  r1  )*r   r   r   r_  r   r`  ra  rb  rc  r   r   r   r   r  r  r  r  r	  r
  r  r  rd  r   default_headerskeyvaluesec_keyextstrrZ  r_keymatchr,  protoresp_protocolsrs  compress_hdrsrY  rX  
conn_protor+  readerwriters*                                             rq   rg  ClientSession._ws_connect
  s    4 ?-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 ;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"!U KKM!U  "
 ,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.S7 	R#S7 2?S7 2R"  A6S7 6%TS7 "
S4,AS//S44S7 7TTCIMultiDict[str]c                 *   [        U R                  5      nU(       av  [        U[        [        45      (       d  [        U5      n[        5       nUR                  5        H2  u  pEXC;   a  UR                  XE5        M  XRU'   UR                  U5        M4     U$ )z3Add default headers and transform it to CIMultiDict)r   r   r   r   r   r  rx  r   )r   r   resultadded_namesr  r  s         rq   r  ClientSession._prepare_headers  sx     T223g	'BCC%g.$'EK%mmo
%JJs*"'3KOOC( . rp   )r   c                \    [        U R                  " [        R                  U4SU0UD65      $ )zPerform HTTP GET request.r   )r   r   r   r<  r   r   r   r   s       rq   r=  ClientSession.get  s.     &MM$--XoXQWX
 	
rp   c                \    [        U R                  " [        R                  U4SU0UD65      $ )zPerform HTTP OPTIONS request.r   )r   r   r   METH_OPTIONSr  s       rq   optionsClientSession.options  s8     &MM!!38GKQ
 	
rp   c                \    [        U R                  " [        R                  U4SU0UD65      $ )zPerform HTTP HEAD request.r   )r   r   r   r:  r  s       rq   headClientSession.head  s6     &MM5DHN
 	
rp   )r   c                \    [        U R                  " [        R                  U4SU0UD65      $ )zPerform HTTP POST request.r   )r   r   r   r;  r   r   r   r   s       rq   postClientSession.post  s-     &MM$..#CDCFC
 	
rp   c                \    [        U R                  " [        R                  U4SU0UD65      $ )zPerform HTTP PUT request.r   )r   r   r   METH_PUTr  s       rq   putClientSession.put  s-     &MM$--B4B6B
 	
rp   c                \    [        U R                  " [        R                  U4SU0UD65      $ )zPerform HTTP PATCH request.r   )r   r   r   
METH_PATCHr  s       rq   patchClientSession.patch  s-     &MM$//3DTDVD
 	
rp   c                 X    [        U R                  " [        R                  U40 UD65      $ )zPerform HTTP DELETE request.)r   r   r   METH_DELETE)r   r   r   s      rq   deleteClientSession.delete  s#    %dmmD4D4Dc&TV&TUUrp   c                    #    U R                   (       dH  U R                  b3  U R                  (       a"  U R                  R                  5       I Sh  vN   SU l        gg N7f)z=Close underlying connector.

Release all acquired resources.
N)r   ry   r}   r1  r   s    rq   r1  ClientSession.close  sE     
 {{*t/D/Doo++---"DO -s   AAAAc                 X    U R                   SL =(       d    U R                   R                  $ )z0Is client session closed.

A readonly property.
N)ry   r   r  s    rq   r   ClientSession.closed  s"     $&@$//*@*@@rp   c                     U R                   $ )z(Connector instance used for the session.ry   r  s    rq   r   ClientSession.connector  s     rp   c                     U R                   $ )zThe session cookies.)r|   r  s    rq   r   ClientSession.cookie_jar  s     rp   c                     U R                   $ )z"The session HTTP protocol version.)r   r  s    rq   r   ClientSession.version!       }}rp   c                     U R                   $ ))Do URL requoting on redirection handling.)r   r  s    rq   rz   "ClientSession.requote_redirect_url&  s     )))rp   c                 D    [         R                  " S[        SS9  Xl        g)r  z=session.requote_redirect_url modification is deprecated #2778r   r   N)r   r   r   r   )r   r   s     rq   rz   r  +  s!     	N	

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

Session is switched to closed state anyway.
Nr  r  s    rq   detachClientSession.detachv  s    
 rp   c                     [        S5      e)NzUse async with instead)	TypeErrorr  s    rq   	__enter__ClientSession.__enter__}  s    011rp   exc_typeexc_valexc_tbc                     g r   rh   r   r  r  r  s       rq   __exit__ClientSession.__exit__  s     	rp   c                    #    U $ 7fr   rh   r  s    rq   
__aenter__ClientSession.__aenter__  s
     s   c                 @   #    U R                  5       I S h  vN   g  N7fr   )r1  r  s       rq   	__aexit__ClientSession.__aexit__  s      jjls   )r   rw   ry   r}   r|   r~   r   r   r{   r   r   r   r   r   r   r   r   r   rx   r   r   r   r   r   r   r   N)r   r  )r   rY   )iri   rj   rk   rl   __doc__r   r   rx   r   r   StackSummaryrn   ry   r;   r   r  r5   r6   r:   r   HttpVersion11rH   rX   r)  AbstractEventLooprV   rW   r   strrB   rU   r   rK   r!   r  r   r	   r   rm   r@   objectrZ   r   rT   int_CharsetResolverr   r   rA   r   r   r   r   r[   r   r   r   bytesr\   r7   r   r   r   r<  rh  rg  r  r=  r  r  r  r  r  r  r1  propertyr   r   r   r   r   rz   setterr   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r0  r   r  r  r  ro   __classcell__)r   s   @rq   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./ -( '	
 
 rp   rY   c                       \ rS rSrSrS\SS\4   SS4S jrSS jrS	\	S
\	SS4S jr
SS jrS\\	S\4   4S jrS\\	S\4   4S jrS\4S jrSrg)_BaseRequestContextManageri  _coro_respcoroasyncio.Future[Any]Nr   c                     Xl         g r   )r  )r   r  s     rq   r   #_BaseRequestContextManager.__init__  s    
rp   c                 8    U R                   R                  U5      $ r   )r  r/  )r   args     rq   r/  _BaseRequestContextManager.send  s    zzs##rp   r4  r   c                 :    U R                   R                  " U0 UD6$ r   )r  throw)r   r4  r   s      rq   r   _BaseRequestContextManager.throw  s    zz000rp   c                 6    U R                   R                  5       $ r   )r  r1  r  s    rq   r1   _BaseRequestContextManager.close  s    zz!!rp   c                 :    U R                   R                  5       nU$ r   )r  	__await__)r   rets     rq   r  $_BaseRequestContextManager.__await__  s    jj""$
rp   c                 "    U R                  5       $ r   )r  r  s    rq   __iter__#_BaseRequestContextManager.__iter__  s    ~~rp   c                 X   #    U R                   I S h  vN U l        U R                  $  N7fr   r  r  s    rq   r  %_BaseRequestContextManager.__aenter__  s"     ::%
zz &s   *(*)r  Nr   r  r  )ri   rj   rk   rl   	__slots__r
   rt   r   r/  r   r  r1  r   r  r  r  ro   rh   rp   rq   r  r    s    "IY'<dH'LM RV $13 1# 12G 1"9S$%89  )Cx$78  ( rp   r  c                   J    \ rS rSrSrS\\\      S\\   S\\   SS4S jr	Sr
g)	r   i  rh   r  rY  tbr   Nc                    #    U R                   R                  5         U R                   R                  5       I S h  vN   g  N7fr   )r  rB  wait_for_closer   r  rY  r  s       rq   r   _RequestContextManager.__aexit__  s-      	

jj'')))s   8AA Ari   rj   rk   rl   r  r   r   r0  r   r  ro   rh   rp   rq   r   r     sF    I*4./* m$* ]#	*
 
*rp   r   c                   J    \ rS rSrSrS\\\      S\\   S\\   SS4S jr	Sr
g)	re  i  rh   r  rY  r  r   Nc                 T   #    U R                   R                  5       I S h  vN   g  N7fr   )r  r1  r   s       rq   r  "_WSRequestContextManager.__aexit__  s      jj   s   (&(r"  rh   rp   rq   re  re    sF    I!4./! m$! ]#	!
 
!rp   re  c                   z    \ rS rSrSrS\SS\4   S\SS4S jrS\4S	 jr	S
\
\\      S\
\   S\
\   SS4S jrSrg)_SessionRequestContextManageri  r  r  _sessionr  r  Nr  r   c                 *    Xl         S U l        X l        g r   r(  )r   r  r  s      rq   r   &_SessionRequestContextManager.__init__  s    
 
/3
rp   c                    #     U R                   I S h  vN U l        U R                  $  N! [         a%    U R                  R	                  5       I S h  vN    e f = f7fr   )r  r  r0  r)  r1  r  s    rq   r  (_SessionRequestContextManager.__aenter__  sP     	#zz)DJ
 :: * 	--%%'''	s1   A+ )	+ A+ 'AAAAr  rY  r  c                    #    U R                   c   eU R                   R                  5         U R                  R                  5       I S h  vN   g  N7fr   )r  r1  r)  r   s       rq   r  '_SessionRequestContextManager.__aexit__  s=      zz%%%

mm!!###s   AA	A
A)ri   rj   rk   rl   r  r
   r6   rY   r   r  r   r   r0  r   r  ro   rh   rp   rq   r'  r'    s    .I -t^CD    
	 . $4./$ m$$ ]#	$
 
$rp   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                    SnUc  Sn[        USS9n[        UUUUUUS9n[        UR                  U UUUUUUUUU	U
UUUUUUUUUS9U5      $ )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                              rq   r[   r[     s    @ O d=	'G )/+'-)!%')) 	 	
, 	/ rp   )r  r)  rz  r  r   r|  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   rs   rn   rt   r  r  r  rY   r  r   re  r'  r  r  r  r  r  r[   rh   rp   rq   <module>rC     sP        	 
    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rp   