o
    RÊÆhF·  ã                5   @   sö  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 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l0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC ddlDmEZEmFZFmGZGmHZHmIZI ddlJmKZK ddlLmMZMmNZNmOZOmPZP ddlQmRZR ddlSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z] ddl,m^Z^m_Z_m`Z`maZa ddlbmcZcmdZdmeZemfZf ddlgmhZh ddlimjZjmkZk ddllmmZmmnZnmoZompZp dZqe�r'ddlrmsZs ndZse"jtdddd�G dd„ dƒƒZueudd�Zveeu ewd< e dƒZxeeFeygezf Z{G d d!„ d!ƒZ|G d"d#„ d#eeeexf eex ƒZ}G d$d%„ d%e}eF ƒZ~G d&d'„ d'e}eK ƒZG d(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.ezd/epd0eeezezf  d1ed2ed3eeo d4eeez  d5eeV d6e‚d7eƒd8eez d9ee‚ d:e‚d;ee‚ d<e‚d=eep d>eeV d?e!eue„f d@een dAe_dBeeM dCeeƒ dDeej… dEeƒdFeƒdGe€f4dHdI„Z†dS )JzHTTP Client for asyncio.é    N)Úsuppress)ÚSimpleNamespaceÚTracebackType)ÚTYPE_CHECKINGÚAnyÚ	AwaitableÚCallableÚ	CoroutineÚFinalÚ	FrozenSetÚ	GeneratorÚGenericÚIterableÚListÚLiteralÚ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                   @   sZ   e Zd ZU dZee ed< dZee ed< dZee ed< dZ	ee ed< dZ
eed< dS )rZ   NÚtotalÚconnectÚ	sock_readÚsock_connecté   Úceil_threshold)Ú__name__Ú
__module__Ú__qualname__r`   r   ÚfloatÚ__annotations__ra   rb   rc   re   © rk   rk   ú[/var/www/html/HyperOracle/crypto_trader/venv/lib/python3.10/site-packages/aiohttp/client.pyrZ   �   s   
 rZ   i,  ©r`   ÚDEFAULT_TIMEOUTÚ_RetTypec                ?       s¦  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œ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(d)„Z-d*ed  d'dfd+d,„Z.e/rÆd-ed.e0d'df‡ fd/d0„Z1e2fd1e0d'dfd2d3„Z3d4ed5ed6e0d'd7fd8d9„Z4d:ed'e5fd;d<„Z6d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>œd4ed:ed?ee7eef  d@e0dAe0dee dee deee  dee dBe!dCe+dDee dEee! dFe!de"de!e#ege$d f f dGe!dHee dIee de"e(e&f dJee! dKee8 dLee9 dMee"e9e:d e;f  dNee dOee dPee< d#ee+ dee! d$ee+ d%ee+ d'ef>dQdR„Z=e>j?dSdTddddddddddddddddUdVdWœd5ed4edXee de%dYee% dZe!d[e!d\ee% dee d]ee d?ee7eef  dee dHee dIee dMe"e9e:d de;f dJee! dKee8 dLee9 dOee dDe+d^e+d'd_f,d`da„Z@e>j?dSdTddddddddddddddddUdVdWœd5ed4edXee de%dYee% dZe!d[e!d\ee% dee d]ee d?ee7eef  dee dHee dIee dMe"e9e:d de;f dJee! dKee8 dLee9 dOee dDe+d^e+d'ef,dbdc„ZAdee d'ddfdedf„ZBddgœd5edBe!d6e0d'd7fdhdi„ZCddgœd5edBe!d6e0d'd7fdjdk„ZDddgœd5edBe!d6e0d'd7fdldm„ZEddnœd5ed@e0d6e0d'd7fdodp„ZFddnœd5ed@e0d6e0d'd7fdqdr„ZGddnœd5ed@e0d6e0d'd7fdsdt„ZHd5ed6e0d'd7fdudv„ZId¨dwdx„ZJeKd'e!fdydz„ƒZLeKd'ee fd{d|„ƒZMeKd'e fd}d~„ƒZNeKd'eOe+e+f fdd€„ƒZPeKd'e!fd�d‚„ƒZQeQjRd.e!d'dfdƒd‚„ƒZQeKd'ejfd„d…„ƒZSeKd'e(fd†d‡„ƒZTeKd©dˆd‰„ƒZUeKd'eVeW fdŠd‹„ƒZXeKd'ee fdŒd�„ƒZYeKd'efdŽd�„ƒZZeKd'e!fd�d‘„ƒZ[eKd'e"e!e#ege$d f f fd’d“„ƒZ\eKd'e!fd”d•„ƒZ]eKd'e!fd–d—„ƒZ^eKd'e)e* fd˜d™„ƒZ_d¨dšd›„Z`d¨dœd�„Zadžeeeb  dŸeeb d eec d'dfd¡d¢„Zddªd£d¤„Zedžeeeb  dŸeeb d eec d'dfd¥d¦„Zf‡  ZgS )«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_charsetNrq   rr   TFé   éþ  c                 C   s   dS )Nzutf-8rk   )ÚrÚbrk   rk   rl   Ú<lambda>ì   s    zClientSession.<lambda>)Ú	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_envrs   Ú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    rs   r¡   r¢   r£   r¤   r¥   Úreturnc                C   s  |d u r|d ur|j }t|ƒ}|d u st|tƒr|| _nt|ƒ| _| j ¡ | jks-J dƒ‚|d u r6t|d�}|j |ur?tdƒ‚|| _ | ¡ rOt	 
t d¡¡| _|d u rXt|d�}|| _|d ure| j |¡ || _|| _|| _|| _|| _|tu r¦t| _|tur�tjdtdd� tj| j|d�| _|d ur¥tj| j|d	�| _tjd
tdd� n|| _|tur±tdƒ‚|d ur¹tdƒ‚|| _|| _ || _!|| _"|| _#|| _$|| _%|rÕt&|ƒ}nt&ƒ }|| _'|d urêt(dd„ |D ƒƒ| _)nt(ƒ | _)|	| _*|
| _+|| _,|púg | _-| j-D ]}| .¡  qÿ|| _/d S )Nz2Only absolute URLs without path part are supported©r�   z0Session and connector has to use same event loopr   z8read_timeout is deprecated, use timeout argument insteadé   ©Ú
stacklevelrm   )ra   z8conn_timeout is deprecated, use timeout argument insteadzGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectc                 s   s   � | ]}t |ƒV  qd S ©N)r   )Ú.0Úirk   rk   rl   Ú	<genexpr>@  s   € z)ClientSession.__init__.<locals>.<genexpr>)0rt   rF   Ú
isinstancer   rp   Úoriginr=   ÚRuntimeErrorÚ	get_debugÚ	tracebackÚextract_stackÚsysÚ	_getframerq   r?   ru   Úupdate_cookiesrr   rv   rw   rx   ry   rH   rn   r{   ÚwarningsÚwarnÚDeprecationWarningÚattrÚevolveÚ
ValueErrorr|   r}   r~   rz   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    rs   r¡   r¢   r£   r¤   r¥   Úreal_headersÚtrace_configrk   rk   rl   Ú__init__Î   s”    
ÿ


ýý€ÿÿ




zClientSession.__init__Úclsc                 C   s   t jd | j¡tdd� d S )Nz6Inheritance class {} from ClientSession is discouragedr©   rª   )r¹   rº   Úformatrf   r»   )rÅ   rk   rk   rl   Ú__init_subclass__N  s   
üzClientSession.__init_subclass__ÚnameÚvalc                    s2   || j vrtjd |¡tdd� tƒ  ||¡ d S )Nz8Setting custom ClientSession.{} attribute is discouragedr©   rª   )ÚATTRSr¹   rº   rÆ   r»   ÚsuperÚ__setattr__)rÁ   rÈ   rÉ   ©Ú	__class__rk   rl   rÌ   X  s   
üzClientSession.__setattr__Ú	_warningsc                 C   sZ   | j s+d| i}|jd| ›�tfi |¤Ž | ddœ}| jd ur#| j|d< | j |¡ d S d S )NÚsourcezUnclosed client session zUnclosed client session)Úclient_sessionÚmessageÚsource_traceback)Úclosedrº   ÚResourceWarningrq   rt   Úcall_exception_handler)rÁ   rÏ   ÚkwargsÚcontextrk   rk   rl   Ú__del__b  s   
ÿÿ


øzClientSession.__del__ÚmethodÚurlr×   Ú_RequestContextManagerc                 K   s   t | j||fi |¤ŽƒS )zPerform HTTP request.)rÜ   Ú_request)rÁ   rÚ   rÛ   r×   rk   rk   rl   r[   m  s   zClientSession.requestÚ
str_or_urlc                 C   s:   t |ƒ}| jd u r|S | ¡ s|j d¡sJ ‚| j |¡S )Nú/)r   rp   Úis_absoluteÚpathÚ
startswithÚjoin)rÁ   rÞ   rÛ   rk   rk   rl   Ú
_build_urls  s
   
zClientSession._build_urlé
   )Ú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          7      ƒ   s  �ˆ j rtdƒ‚t||||ƒ}|d ur|d urtdƒ‚|d ur'tj|ˆ jd�}t|tƒs6|d ur6t	 
dt¡ d}g } ˆ j}!|p@i }ˆ  |¡}ˆ  |¡}zˆ  |¡}"W n tyc }# zt|ƒ|#‚d }#~#ww tˆ jƒ}$|d ury|D ]	}%|$ t|%ƒ¡ qo|d ur•zt|ƒ}W n ty” }# zt|ƒ|#‚d }#~#ww |tu r�ˆ j}&nt|tƒs¨t|d�}&n|}&tˆ j|&j|&jd�}'|' ¡ }(|d u r¿ˆ j}|d u rÆˆ j}|d u rÍˆ j}|d u rÔˆ j }‡ ‡fdd	„ˆ j!D ƒ})|)D ]}*|* "||" #|¡|¡I d H  qá|' $¡ }+�zÛ|+��z 	 t%|"ƒ\}"},|	�r|,�rtdƒ‚|	d u �r|,}	|	d u �rˆ j&}	|d u�r/|	d u�r/t'j(|v �r/tdƒ‚ˆ j) *|"¡}-|d u�rOt+ƒ }.|. ,|¡ |. *|"¡}/|/�rO|- -|/¡ |d u�rYt|ƒ}nˆ j.�rxt/t0ƒ� t1|"ƒ\}}W d   ƒ n	1 �ssw   Y  ˆ j2||"fi d|“d|“d|$“d|“d|-“d|	“d|!“d|“d|“d|“dˆ j“dˆ j3“d|“d|“d|+“dˆ “d|“d|“d|“d |)“d!ˆ j4“Ž}0z9t5|&j6|&jd�4 I d H š ˆ j7d u�sØJ ‚ˆ j7j6|0|)|&d"�I d H }1W d   ƒI d H  n1 I d H �sõw   Y  W n t8j9�y }2 zt:d# ;|"¡ƒ|2‚d }2~2ww |1j<d u�sJ ‚|1j=d u�s"J ‚|1j=j>|+t?|ƒ|||&j@|ˆ j7jA||d$�	 z2z"|0 B|1¡I d H }3z
|3 |1¡I d H  W n tC�yW   |3 D¡  ‚ w W n tC�yf   |1 D¡  ‚ w W n) tE�yq   ‚  tF�y‘ }2 z|2jGd u �r‡t|2t8j9ƒ�r‡‚ tH|2jIŽ |2‚d }2~2ww ˆ j) ,|3jJ|3jK¡ |3jLd%v �rl|
�rl|)D ]}*|* M||" #|¡||3¡I d H  �q¦|d&7 }|  N|3¡ |�r×||k�r×|3 D¡  tO| d jPtQ| ƒƒ‚|3jLd'k�rä|3jRt'jSk�sñ|3jLd(v �r|3jRt'jTk�rt'jU}d }| Vt'jW¡�r| Xt'jW¡ |3jY Vt'jZ¡�p|3jY Vt'j[¡}4|4d u �rnU|3 \¡  z
t|4ˆ j] d)�}5W n t�y8 }# zt|4ƒ|#‚d }#~#ww |5j^}6|6d*v�rI|3 D¡  td+ƒ‚|6�sQ|" _|5¡}5|" `¡ |5 `¡ k�rcd }	| Xt'j(d ¡ |5}"i }|3 \¡  qû	 W d   ƒ n	1 �sxw   Y  |d u �r…ˆ ja}|d u �r‹ntb|ƒ�r˜||3ƒI d H  n|�rŸ|3 c¡  |(d u�r¶|3jdd u�r²|3jd e|(jf¡ n|( f¡  tQ| ƒ|3_g|)D ]}*|* h||" #|¡||3¡I d H  �q½|3W S  tC�y  }# z"|' D¡  |(�rç|( f¡  d }(|)D ]}*|* i||" #|¡||#¡I d H  �qé‚ d }#~#ww ),NzSession is closedz9data and json parameters can not be used at the same time)ÚdumpszChunk size is deprecated #1615r   rm   )re   c                    s    g | ]}t ˆ ||jˆd �ƒ‘qS ))r÷   )rS   Útrace_config_ctx)r­   rÃ   ©rÁ   r÷   rk   rl   Ú
<listcomp>æ  s    û
ýÿz*ClientSession._request.<locals>.<listcomp>Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URLræ   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)jrÔ   r²   r9   r¾   r    ÚJsonPayloadry   r°   Úboolr¹   rº   r»   rx   Ú_prepare_headersrä   r.   Úsetr€   Úaddr   r   rH   r{   rZ   rC   rt   r`   re   Ústartr…   r}   r†   r‡   r„   Úsend_request_startÚupdate_queryrü   rI   rw   r   ÚAUTHORIZATIONru   Úfilter_cookiesr?   r¸   Úloadr~   r   ÚLookupErrorrE   r�   r‚   r    rD   ra   rr   ÚasyncioÚTimeoutErrorr2   rÆ   Ú	transportÚprotocolÚset_response_paramsrG   rb   Ú_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Úreleaserz   Úschemerã   r±   r|   Úcallabler›   Ú
connectionÚadd_callbackÚcancelÚ_historyÚsend_request_endÚsend_request_exception)7rÁ   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þ   Útracerü   Úauth_from_urlÚall_cookiesÚtmp_cookie_jarÚreq_cookiesÚreqÚconnÚexcÚrespÚr_urlÚ
parsed_urlr-  rk   rú   rl   rÝ   {  s  €)ÿ


€ÿ

€ÿ
ÿú	ÿ



ÿ






ÿþýüûúùø	÷
öõôóòñðïîíìëêéþÿ*û€ÿþ€ÿ÷þÿþü€ýÿ
ÿÿ

ÿ
€ÿ

€ �Í 
6



ÿÿ€õzClientSession._requestrk   g      $@r   i  @ )rÚ   Ú	protocolsrž   Úreceive_timeoutÚ	autocloseÚautopingÚ	heartbeatr“   r±   ræ   r‘   rï   rð   rô   rñ   rò   ró   rö   rë   Úmax_msg_sizerG  rH  rI  rJ  rK  r±   rL  Ú_WSRequestContextManagerc                C   sŠ   t | j|fi d|“d|“d|“d|“d|“d|“d|“d|	“d	|
“d
|“d|“d|“d|“d|“d|“d|“d|“d|“d|“d|“ŽƒS )zInitiate websocket connection.rÚ   rG  rž   rH  rI  rJ  rK  r“   r±   ræ   r‘   rï   rð   rô   rñ   rò   ró   rö   rë   rL  )rM  Ú_ws_connect)rÁ   rÛ   rÚ   rG  rž   rH  rI  rJ  rK  r“   r±   ræ   r‘   rï   rð   rô   rñ   rò   ró   rö   rë   rL  rk   rk   rl   Ú
ws_connectÏ  sZ   ÿþýüûúùø	÷
öõôóòñðïîíìëÿzClientSession.ws_connectc          *      Ã   s,  �|d u r	t ƒ }nt |ƒ}tjdtjdtjdi}| ¡ D ]
\}}| ||¡ qt t	 
d¡¡}| ¡ |tj< |r@d |¡|tj< |
d urI|
|tj< |rUt|d�}||tj< t||||ƒ}| j||||d|	||||d�
I d H }�z|jd	kr‚t|j|jd
|j|jd�‚|j tjd¡ ¡ dkr›t|j|jd|j|jd�‚|j tjd¡ ¡ dkr´t|j|jd|j|jd�‚|j tjd¡}t t |t ¡ ¡ ¡ ¡ }||krÛt|j|jd|j|jd�‚d }|�rtj|jv �rdd„ |jtj   d¡D ƒ} | D ]}!|!|v �r|!} nq÷d}"|�r=|j tj¡}#|#�r9zt!|#ƒ\}}"W n" t"�y8 }$ zt|j|j|$j#d |j|jd�|$‚d }$~$ww d}d}"|j$}%|%d u�sGJ ‚|%j%}&|&d u�sQJ ‚|%j&}'|'d u�s[J ‚t'|&d| j(d�}(|& )t*|(|ƒ|(¡ t+|&|'d||"d�})W n t,�yƒ   | -¡  ‚ w | j.|(|)|||||| j(||||"d�S )NÚ	websocketÚUpgradeÚ13é   ú,)rë   F)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 responsec                 S   s   g | ]}|  ¡ ‘qS rk   )Ústrip)r­   Úprotork   rk   rl   rû   r  s    ÿÿz-ClientSession._ws_connect.<locals>.<listcomp>r   r‰   r¨   T)Úuse_maskrë   Ú
notakeover)rH  rK  rë   Úclient_notakeover)/r   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"  r6  r‘   r'  ÚlowerÚSEC_WEBSOCKET_ACCEPTÚhashlibÚsha1rJ   ÚdigestÚsplitrQ   rN   r  r/  r  r  rR   rt   Ú
set_parserrL   rM   r  r  rƒ   )*rÁ   rÛ   rÚ   rG  rž   rH  rI  rJ  rK  r“   r±   ræ   r‘   rï   rð   rô   rñ   rò   ró   rö   rë   rL  rÂ   Údefault_headersÚkeyÚvalueÚsec_keyÚextstrrD  Úr_keyÚmatchr  Úresp_protocolsrX  rZ  Úcompress_hdrsrC  rB  Ú
conn_protor  ÚreaderÚwriterrk   rk   rl   rN    s  €ý


ö
ûûû	û	þ
þûú€ÿ	ÿ
ûþôzClientSession._ws_connectúCIMultiDict[str]c                 C   sh   t | jƒ}|r2t|ttfƒst |ƒ}tƒ }| ¡ D ]\}}||v r(| ||¡ q|||< | |¡ q|S )z3Add default headers and transform it to CIMultiDict)r   r   r°   r   r   r
  r_  r  )rÁ   r‘   ÚresultÚadded_namesrr  rs  rk   rk   rl   r	  ³  s   
zClientSession._prepare_headers)ré   c                K   ó   t | jtj|fd|i|¤ŽƒS )zPerform HTTP GET request.ré   )rÜ   rÝ   r   r&  ©rÁ   rÛ   ré   r×   rk   rk   rl   r'  Ã  ó   ÿzClientSession.getc                K   r€  )zPerform HTTP OPTIONS request.ré   )rÜ   rÝ   r   ÚMETH_OPTIONSr�  rk   rk   rl   ÚoptionsË  ó   ÿÿÿÿzClientSession.optionsc                K   r€  )zPerform HTTP HEAD request.ré   )rÜ   rÝ   r   r$  r�  rk   rk   rl   ÚheadÕ  r…  zClientSession.head)rç   c                K   r€  )zPerform HTTP POST request.rç   )rÜ   rÝ   r   r%  ©rÁ   rÛ   rç   r×   rk   rk   rl   Úpostß  r‚  zClientSession.postc                K   r€  )zPerform HTTP PUT request.rç   )rÜ   rÝ   r   ÚMETH_PUTr‡  rk   rk   rl   Úputç  r‚  zClientSession.putc                K   r€  )zPerform HTTP PATCH request.rç   )rÜ   rÝ   r   Ú
METH_PATCHr‡  rk   rk   rl   Úpatchï  r‚  zClientSession.patchc                 K   s   t | jtj|fi |¤ŽƒS )zPerform HTTP DELETE request.)rÜ   rÝ   r   ÚMETH_DELETE)rÁ   rÛ   r×   rk   rk   rl   Údelete÷  s   zClientSession.deletec                 Ã   s6   �| j s| jdur| jr| j ¡ I dH  d| _dS dS )zMClose underlying connector.

        Release all acquired resources.
        N)rÔ   rr   rv   r  ©rÁ   rk   rk   rl   r  û  s   €
ýzClientSession.closec                 C   s   | j du p| j jS )z@Is client session closed.

        A readonly property.
        N)rr   rÔ   r�  rk   rk   rl   rÔ     s   zClientSession.closedc                 C   ó   | j S )z(Connector instance used for the session.©rr   r�  rk   rk   rl   rŽ     ó   zClientSession.connectorc                 C   r�  )zThe session cookies.)ru   r�  rk   rk   rl   r™     r’  zClientSession.cookie_jarc                 C   r�  )z"The session HTTP protocol version.)rx   r�  rk   rk   rl   r˜     r’  zClientSession.versionc                 C   r�  )ú)Do URL requoting on redirection handling.)rz   r�  rk   rk   rl   rs     r’  z"ClientSession.requote_redirect_urlc                 C   s   t jdtdd� || _dS )r“  z=session.requote_redirect_url modification is deprecated #2778r©   rª   N)r¹   rº   r»   rz   )rÁ   rÉ   rk   rk   rl   rs   !  s   ý
c                 C   s   t jdtdd� | jS )zSession's loop.z"client.loop property is deprecatedr©   rª   )r¹   rº   r»   rt   r�  rk   rk   rl   r�   +  s   ÿzClientSession.loopc                 C   r�  )zTimeout for the session.)r{   r�  rk   rk   rl   rž   3  r’  zClientSession.timeoutc                 C   r�  )z*The default headers of the client session.)r   r�  rk   rk   rl   r‘   8  r’  zClientSession.headersc                 C   r�  )z2Headers for which autogeneration should be skipped)r€   r�  rk   rk   rl   r’   =  r’  zClientSession.skip_auto_headersc                 C   r�  )z2An object that represents HTTP Basic Authorization)rw   r�  rk   rk   rl   r“   B  r’  zClientSession.authc                 C   r�  )zJson serializer callable)ry   r�  rk   rk   rl   r”   G  r’  zClientSession.json_serializec                 C   r�  )z-Should connector be closed on session closing)rv   r�  rk   rk   rl   rš   L  r’  zClientSession.connector_ownerc                 C   r�  )zGShould `ClientResponse.raise_for_status()` be called for each response.)r|   r�  rk   rk   rl   r›   Q  s   zClientSession.raise_for_statusc                 C   r�  )z7Should the body response be automatically decompressed.)r}   r�  rk   rk   rl   rŸ   X  r’  zClientSession.auto_decompressc                 C   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�  rk   rk   rl   r    ]  s   zClientSession.trust_envc                 C   r�  )z7A list of TraceConfig instances used for client tracing)r„   r�  rk   rk   rl   r¡   g  r’  zClientSession.trace_configsc                 C   s
   d| _ dS )zwDetach connector from session without closing the former.

        Session is switched to closed state anyway.
        Nr‘  r�  rk   rk   rl   Údetachl  s   
zClientSession.detachc                 C   s   t dƒ‚)NzUse async with instead)Ú	TypeErrorr�  rk   rk   rl   Ú	__enter__s  ó   zClientSession.__enter__Úexc_typeÚexc_valÚexc_tbc                 C   s   d S r¬   rk   ©rÁ   r˜  r™  rš  rk   rk   rl   Ú__exit__v  s   zClientSession.__exit__c                 Ã   s   �| S r¬   rk   r�  rk   rk   rl   Ú
__aenter__  s   €zClientSession.__aenter__c                 Ã   s   �|   ¡ I d H  d S r¬   )r  r›  rk   rk   rl   Ú	__aexit__‚  s   €zClientSession.__aexit__r¬   ©r§   N)r§   r}  )r§   rY   )hrf   rg   rh   Ú__doc__r¿   rÊ   rq   r   r´   ÚStackSummaryrj   rr   r;   rè   rø   r5   r6   r:   r   ÚHttpVersion11rH   rX   r  ÚAbstractEventLooprV   rW   r   ÚstrrB   rU   r   rK   r!   r  r   r   r   ri   r@   ÚobjectrZ   r   rT   ÚintÚ_CharsetResolverrÄ   rÇ   rA   r   rÌ   r¹   rÙ   r[   r   rä   r   Úbytesr\   r   r7   r   rÝ   r   r&  rO  rN  r	  r'  r„  r†  rˆ  rŠ  rŒ  rŽ  r  ÚpropertyrÔ   rŽ   r™   r   r˜   rs   Úsetterr�   rž   r‘   r   r   r’   r“   r”   rš   r›   rŸ   r    r¡   r”  r–  r  r   rœ  r�  rž  Ú__classcell__rk   rk   rÍ   rl   rY   ª   sˆ  
 ÿþâþüûúù
ø	÷
öõôóòñðÿï
ìë
êéèç
æåäãâ
á 
ÿÿÿ
þÞþýûúùø	÷

öõôóòñðÿïìëê
éèçæåäãâá à!ß"Þ#
Ý  Zéþüûúùø	÷
öõôóòñðïîíìëêé
è8éþüûúùø	÷
öõôóòñðïîíìëêé
è 1ÿÿÿÿ
þ	ÿÿÿÿ
þÿÿÿÿ
þÿÿÿÿ
þ	ÿÿÿÿ
þ	ÿÿÿÿ
þ

	þ	


þýü
û
	
þýüûrY   c                   @   s”   e Zd ZdZdeddef ddfdd„Zdd	d
„Zdededdfdd„Z	ddd„Z
deedef fdd„Zdeedef fdd„Zdefdd„ZdS )Ú_BaseRequestContextManager©Ú_coroÚ_respÚcoroúasyncio.Future[Any]Nr§   c                 C   s
   || _ d S r¬   )r®  )rÁ   r°  rk   rk   rl   rÄ   �  ó   
z#_BaseRequestContextManager.__init__Úargc                 C   s   | j  |¡S r¬   )r®  r  )rÁ   r³  rk   rk   rl   r  ’  s   z_BaseRequestContextManager.sendr  r×   c                 O   s   | j j|i |¤ŽS r¬   )r®  Úthrow)rÁ   r  r×   rk   rk   rl   r´  •  s   z _BaseRequestContextManager.throwc                 C   s
   | j  ¡ S r¬   )r®  r  r�  rk   rk   rl   r  ˜  r²  z _BaseRequestContextManager.closec                 C   s   | j  ¡ }|S r¬   )r®  Ú	__await__)rÁ   Úretrk   rk   rl   rµ  ›  s   
z$_BaseRequestContextManager.__await__c                 C   s   |   ¡ S r¬   )rµ  r�  rk   rk   rl   Ú__iter__Ÿ  r—  z#_BaseRequestContextManager.__iter__c                 Ã   s   �| j I d H | _| jS r¬   r­  r�  rk   rk   rl   r�  ¢  s   €z%_BaseRequestContextManager.__aenter__)r³  Nr§   r±  rŸ  )rf   rg   rh   Ú	__slots__r	   ro   rÄ   r  r   r´  r  r   rµ  r·  r�  rk   rk   rk   rl   r¬  ‹  s    

r¬  c                   @   ó:   e Zd ZdZdeee  dee dee ddfdd„ZdS )	rÜ   rk   r˜  rC  Útbr§   Nc                 Ã   s    �| j  ¡  | j  ¡ I d H  d S r¬   )r¯  r,  Úwait_for_close©rÁ   r˜  rC  rº  rk   rk   rl   rž  ª  s   €
z _RequestContextManager.__aexit__©	rf   rg   rh   r¸  r   r   r  r   rž  rk   rk   rk   rl   rÜ   §  ó    
þýüûrÜ   c                   @   r¹  )	rM  rk   r˜  rC  rº  r§   Nc                 Ã   s   �| j  ¡ I d H  d S r¬   )r¯  r  r¼  rk   rk   rl   rž  ¼  s   €z"_WSRequestContextManager.__aexit__r½  rk   rk   rk   rl   rM  ¹  r¾  rM  c                   @   sh   e Zd ZdZdeddef deddfdd„Zdefd	d
„Zde	e
e  de	e de	e ddfdd„ZdS )Ú_SessionRequestContextManager©r®  r¯  Ú_sessionr°  r±  Nrý   r§   c                 C   s   || _ d | _|| _d S r¬   rÀ  )rÁ   r°  rý   rk   rk   rl   rÄ   É  s   
z&_SessionRequestContextManager.__init__c                 Ã   s:   �z| j I d H | _W | jS  ty   | j ¡ I d H  ‚ w r¬   )r®  r¯  r  rÁ  r  r�  rk   rk   rl   r�  Ò  s   €üþz(_SessionRequestContextManager.__aenter__r˜  rC  rº  c                 Ã   s.   �| j d usJ ‚| j  ¡  | j ¡ I d H  d S r¬   )r¯  r  rÁ  r¼  rk   rk   rl   rž  Û  s   €
z'_SessionRequestContextManager.__aexit__)rf   rg   rh   r¸  r	   r6   rY   rÄ   r�  r   r   r  r   rž  rk   rk   rk   rl   r¿  Å  s&    þý
ü		
þýüû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                C   s²   d}|du rd}t |dd�}t||||||d�}t|j| |fi d|“d|“d|“d	|“d
|“d|“d|“d|	“d|
“d|“d|“d|“d|“d|“d|“d|“d|“d|“Ž|ƒ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()
    FNT)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ý   rk   rk   rl   r[   æ  sn   @ú	þýüûúùø	÷
öõôóòñðïîíìér[   )‡r   r  ra  rl  rè   rc  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   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   rn   rj   ro   r¨  r¤  r§  rY   r¬  rÜ   rM  r¿  r¢  r  r¦  r¥  r£  r[   rk   rk   rk   rl   Ú<module>   sú    TT0(        h%æÿþüûúù
ø	÷
öõôóòñðïî
íìëêéèçæå