o
    çûõj@	 ã                   @   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
mZmZmZmZmZ ddlmZ ddlmZ ddlmZmZmZmZmZmZmZmZ 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+m,Z, d	dl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZK d	dlLmMZMmNZN d	dlOmPZPmQZQmRZRmSZSmTZTmUZU d	dlVmWZWmXZXmYZY d	dlZm[Z[m\Z\m]Z]m^Z^m_Z_ d	dl`maZambZb d	dlcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZn d	dl'moZompZpmqZqmrZr d	dlsmtZtmuZumvZv d	dlwmxZxmyZy d	dlzm{Z{m|Z|m}Z}m~Z~mZm€Z€ dZ�e�rKddl‚mƒZƒ neZƒej„dk�r\e�r\ddlm…Z… d †e‡eˆe‰dƒƒ¡ZŠe‹ Œddd¡Z�de‹d e‹d!eŽfd"d#„Z�G d$d%„ d%ed&d'�Z�G d(d)„ d)ed&d'�Z‘ej’d*d*d*d+�G d,d-„ d-ƒƒZ“e“d.d/d0�Z”ee“ e•d1< e–h d2£ƒZ—ed3d4d*d5�Z˜eeQe™ge‹f ZšG d6d7„ d7ƒZ›G d8d9„ d9eeee˜f ee˜ ƒZœeœeQ Z�eœeXeŽ  ZžG d:d;„ d;ƒZŸej„dk�re�re'j ddd<œd=e‹d>e€d?epd@e\dB dAej¡dB dBe…e� d!eŸfdCdD„Z¢dS e'j ddd<œd=e‹d>e€d?epd@e\dB dAej¡dB dBed!eŸfdEdD„Z¢dS )FzHTTP Client for asyncio.é    N)Ú	AwaitableÚCallableÚ	CoroutineÚ	GeneratorÚIterableÚSequence)Úsuppress)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚFinalÚGenericÚLiteralÚ	TypedDictÚTypeVarÚoverload)ÚCIMultiDictÚ	MultiDictÚMultiDictProxyÚistr)ÚURLé   )ÚhdrsÚhttpÚpayload)ÚWebSocketDataQueue)ÚAbstractCookieJar)ÚClientConnectionErrorÚClientConnectionResetErrorÚClientConnectorCertificateErrorÚClientConnectorDNSErrorÚClientConnectorErrorÚClientConnectorSSLErrorÚClientErrorÚClientHttpProxyErrorÚClientOSErrorÚClientPayloadErrorÚClientProxyConnectionErrorÚClientResponseErrorÚClientSSLErrorÚConnectionTimeoutErrorÚContentTypeErrorÚ
InvalidURLÚInvalidUrlClientErrorÚInvalidUrlRedirectClientErrorÚNonHttpUrlClientErrorÚNonHttpUrlRedirectClientErrorÚRedirectClientErrorÚServerConnectionErrorÚServerDisconnectedErrorÚServerFingerprintMismatchÚServerTimeoutErrorÚSocketTimeoutErrorÚTooManyRedirectsÚUploadAbortedErrorÚWSMessageTypeErrorÚWSServerHandshakeError)ÚClientMiddlewareTypeÚbuild_client_middlewares)ÚClientRequestÚClientResponseÚFingerprintÚRequestInfoÚUploadTrackerÚ_merge_ssl_params)ÚDEFAULT_WS_CLIENT_TIMEOUTÚClientWebSocketResponseÚClientWSTimeout)ÚHTTP_AND_EMPTY_SCHEMA_SETÚBaseConnectorÚNamedPipeConnectorÚTCPConnectorÚUnixConnector)Ú	CookieJarÚ_UnlimitedCookieJar)Ú	_SENTINELÚDEBUGÚDEFAULT_CHUNK_SIZEÚEMPTY_BODY_METHODSÚ	BasicAuthÚTimeoutHandleÚbasicauth_from_netrcÚget_env_proxy_for_urlÚnetrc_from_envÚsentinelÚstrip_auth_from_url)ÚWS_KEYÚHttpVersionÚWebSocketReaderÚWebSocketWriter)ÚWSHandshakeErrorÚ
ws_ext_genÚws_ext_parse)ÚTraceÚTraceConfig)ÚJSONBytesEncoderÚJSONEncoderÚLooseCookiesÚLooseHeadersÚQueryÚStrOrURL),r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r1   r/   r.   r0   r2   r3   r4   r5   r6   r7   r8   r:   r=   r>   r?   r@   rA   rG   rI   rJ   rH   rD   ÚClientSessionÚClientTimeoutrE   Úrequestr9   )Ú
SSLContext©é   é   )ÚUnpackÚ é!   z	
ÚlocationÚschemeÚreturnc                 C   sL   |   t¡ t¡} | t|ƒd t|ƒd … }|dd… dvp%|dd… dvS )z„Tell if a URL with a scheme has no "//" after the scheme.

    Browsers read a backslash like a slash there for http and https.
    r   rl   N)ú/ú\)ÚstripÚ_C0_CONTROL_OR_SPACEÚ	translateÚ_REMOVE_TAB_OR_NEWLINEÚlen)rq   rr   Úrest© r|   úA/opt/steambot/venv/lib/python3.10/site-packages/aiohttp/client.pyÚ_has_no_authorityº   s    r~   c                   @   s\  e Zd ZU eed< eed< eed< edB ed< edB ed< ee	 dB ed< e
dB ed< eed	< eed
< e	eB dB ed< edB ed< eed< deB eeged f B ed< eed< edB ed< e
dB ed< ded< eeB eB ed< e	dB ed< edB ed< eed< edB ed< edB ed< edB ed< edB ed< edB ed< ee dB ed< edB ed< dS )Ú_RequestOptionsÚparamsÚdataÚjsonNÚcookiesÚheadersÚskip_auto_headersÚauthÚallow_redirectsÚmax_redirectsÚcompressÚchunkedÚ	expect100Úraise_for_statusÚread_until_eofÚproxyÚ
proxy_authz ClientTimeout | _SENTINEL | NoneÚtimeoutÚsslÚserver_hostnameÚproxy_headersÚtrace_request_ctxÚread_bufsizeÚauto_decompressÚmax_line_sizeÚmax_field_sizeÚmax_headersÚmiddlewaresÚupload_tracker)Ú__name__Ú
__module__Ú__qualname__re   Ú__annotations__r   rc   rd   r   ÚstrrQ   ÚboolÚintr   r>   r   rf   rj   r?   Úobjectr   r;   rA   r|   r|   r|   r}   r   Ä   s:   
 r   F©Útotalc                   @   sò   e Zd ZU eed< ee ed< ded< edB ed< eed< eed< edB ed	< edB ed
< edB ed< e	ed< e
dB ed< edB ed< edB ed< eeB eB ed< edB ed< edB ed< edB ed< edB ed< e
dB ed< eed< eed< dS )Ú_WSConnectOptionsÚmethodÚ	protocolszClientWSTimeout | _SENTINELr�   NÚreceive_timeoutÚ	autocloseÚautopingÚ	heartbeatr†   Úoriginr€   r„   rŽ   r�   r‘   Ú
verify_sslÚfingerprintÚssl_contextr’   r“   r‰   Úmax_msg_size)rœ   r�   rž   r    rŸ   r   Úfloatr¡   rQ   re   rd   rf   rj   r?   Úbytesr¢   r|   r|   r|   r}   r¦   ã   s,   
 r¦   T)Úauto_attribsÚfrozenÚslotsc                   @   sZ   e Zd ZU dZedB ed< dZedB ed< dZedB ed< dZedB ed< dZ	eed< dS )rh   Nr¥   ÚconnectÚ	sock_readÚsock_connecté   Úceil_threshold)
rœ   r�   rž   r¥   r²   rŸ   r·   r¸   r¹   r»   r|   r|   r|   r}   rh   û   s   
 rh   i,  é   )r¥   r¹   ÚDEFAULT_TIMEOUT>   ÚGETÚPUTÚHEADÚTRACEÚDELETEÚOPTIONSÚ_RetType_coz.ClientResponse | ClientWebSocketResponse[bool])ÚboundÚ	covariantc                E       s
  e Zd ZU dZeg d¢ƒZdZejdB e	d< dZ
edB e	d< 	dÅddddddddejdeeeejdddededdddeddd	d
d„ dedœdedB dedB dejdB dedB dedB dedB dedB dee dB dedB dededB dee dee dee de de!dB de"de"e#ege$d f B d e%e&B d!e%dB d"e'e(B d#e"d$e"d%e"d&e)e* dB d'e+d(e+d)e+d*e+d+e,d,e-e. d-e&dB e%B d.dfBd/d0„Z/d1ed  d.dfd2d3„Z0e1rÞd4ed5e2d.df‡ fd6d7„Z3e4fd8e2d.dfd9d:„Z5e6j7d;k�re8�rd<ed=ed>e9e: d.d?fd@dA„Z;nd<ed=ed>e2d.d?fdBdA„Z;dCed.e<fdDdE„Z=dddddddddFdddddddedddddddddddddddGœd<edCedHe>dIe2dJe2dedB dedB dee dB dedB dKe"dLe+dMee"B dB dNe"dB dOe"dde"B e#ege$d f B dPe"dedB dedB d"e(e&B dQe"dB dRe?dB dSe@dB dTe@e"B eAB dUedB dVedB dWe'd'e+dB d#e"dB d(e+dB d)e+dB d*e+dB d,e-e. dB dXeBdB d.efDdYdZ„ZCe6j7d;k�re8�reDd[d\œd=ed]eEd d>e9eF d.d^fd_d`„ƒZGeDd=ed]eEd d>e9eF d.dafdbd`„ƒZGeDd[d\œd=ed]e"d>e9eF d.dcfddd`„ƒZGeHjIdedddddddddddddddddedfddgœd=ed<edhee d"eJe&B die%dB dje"dke"dle%dB dedB dmedB dHe>dedB dedB dedB dTe@e"B eAB dQe"dB dRe?dB dSe@dB dUedB dVedB dMe+dne+d]e"d.dcf0dod`„ZGe6j7d;k�r»e8�r»eDd[d\œd=ed]eEd d>e9eF d.dpfdqdr„ƒZKeDd=ed]eEd d>e9eF d.dsfdtdr„ƒZKeDd[d\œd=ed]e"d>e9eF d.dufdvdr„ƒZKeHjIdedddddddddddddddddedfddgœd=ed<edhee d"eJe&B die%dB dje"dke"dle%dB dedB dmedB dHe>dedB dedB dedB dTe@e"B eAB dQe"dB dRe?dB dSe@dB dUedB dVedB dMe+dne+d]e"d.duf0dwdr„ZKdedB d.dxfdydz„ZLd{ed.edB fd|d}„ZMe6j7d;k�r¤e8�r¤d=ed>e9e: d.d?fd~d„ZNd=ed>e9e: d.d?fd€d�„ZOd=ed>e9e: d.d?fd‚dƒ„ZPd=ed>e9e: d.d?fd„d…„ZQd=ed>e9e: d.d?fd†d‡„ZRd=ed>e9e: d.d?fdˆd‰„ZSd=ed>e9e: d.d?fdŠd‹„ZTnkddŒœd=edKe"d>e2d.d?fd�d„ZNddŒœd=edKe"d>e2d.d?fdŽd�„ZOddŒœd=edKe"d>e2d.d?fd�dƒ„ZPdd�œd=edIe2d>e2d.d?fd‘d…„ZQdd�œd=edIe2d>e2d.d?fd’d‡„ZRdd�œd=edIe2d>e2d.d?fd“d‰„ZSd=ed>e2d.d?fd”d‹„ZTdÆd•d–„ZUeVd.e"fd—d˜„ƒZWeVd.edB fd™dš„ƒZXeVd.e!fd›dœ„ƒZYeVd.eZe+e+f fd�dž„ƒZ[eVd.e"fdŸd „ƒZ\e\j]d5e"d.dfd¡d „ƒZ\eVd.ejfd¢d£„ƒZ^eVd.e(fd¤d¥„ƒZ_eVdÇd¦d§„ƒZ`eVd.eea fd¨d©„ƒZbeVd.edB fdªd«„ƒZceVd.efd¬d­„ƒZdeVd.e"fd®d¯„ƒZeeVd.e"e#ege$d f B fd°d±„ƒZfeVd.e"fd²d³„ƒZgeVd.e"fd´dµ„ƒZheVd.e)e* fd¶d·„ƒZidÆd¸d¹„ZjdÆdºd»„Zkd¼eel dB d½eldB d¾emdB d.dfd¿dÀ„ZndÈdÁdÂ„Zod¼eel dB d½eldB d¾emdB d.dfdÃdÄ„Zp‡  ZqS )Érg   z/First-class interface for making HTTP requests.) Ú	_base_urlÚ_base_url_originÚ_source_tracebackÚ
_connectorÚ_loopÚ_cookie_jarÚ_connector_ownerÚ_default_authÚ_versionÚ_json_serializeÚ_json_serialize_bytesÚ_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Ú_max_headersÚ_resolve_charsetÚ_default_proxyÚ_default_proxy_authÚ_retry_connectionÚ_middlewaresÚrequote_redirect_urlNrÉ   rÊ   TFiþ  é€   c                 C   s   dS )Nzutf-8r|   )ÚrÚbr|   r|   r}   Ú<lambda>j  s    zClientSession.<lambda>r|   )Ú	connectorÚlooprƒ   r„   rŽ   r�   r…   r†   Újson_serializeÚjson_serialize_bytesÚrequest_classÚresponse_classÚws_response_classÚversionÚ
cookie_jarÚconnector_ownerrŒ   Úread_timeoutÚconn_timeoutr�   r–   Ú	trust_envræ   Útrace_configsr•   r—   r˜   r™   Úfallback_charset_resolverrš   Ússl_shutdown_timeoutÚbase_urlrë   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ú   rs   c          #      C   sô  d | _ |d u r|d ur|j}|pt ¡ }|d u st|tƒr,|| _|d u r&d n| ¡ | _nt|ƒ| _| j ¡ | _| jj	s?J dƒ‚| jd urO| jj
 d¡sOtdƒ‚|tu sW|d u r…t| _|turotjdtdd� tj| j|d�| _|d ur„tj| j|d�| _tjd	tdd� n"t|tƒs”td
t|ƒ› d�ƒ‚|| _|turŸtdƒ‚|d ur§tdƒ‚| tur³tjdtdd� |d u r½t|| d�}|j|urÆtdƒ‚|| _| ¡ rÖt t d¡¡| _|d u rßt|d�}|| _ |rê| j  !|¡ |	d urötjdtdd� |d u�rtjdtdd� || _ || _"|	| _#|| _$|
| _%|| _&|| _'|| _(|| _)|| _*|| _+|| _,|| _-|| _.|�r5t/|ƒ}!nt/ƒ }!|!| _0|d u�rKt1dd„ |D ƒƒ| _2nt1ƒ | _2|| _3|| _4|| _5|�p\g | _6| j6D ]}"|" 7¡  �qa|| _8|| _9|| _:d| _;|| _<d S )Nz Only absolute URLs are supportedrt   z!base_url must have a trailing '/'z8read_timeout is deprecated, use timeout argument insteadé   ©Ú
stacklevelr¤   )r·   z8conn_timeout is deprecated, use timeout argument insteadztimeout parameter cannot be of z. type, please use 'timeout=ClientTimeout(...)'zGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connectzSThe ssl_shutdown_timeout parameter is deprecated and will be removed in aiohttp 4.0)rì   rú   z0Session and connector has to use same event loopr   ©rì   ú�The 'auth' parameter is deprecated and will be removed in v4; pass headers={'Authorization': aiohttp.encode_basic_auth(login, password)} insteadú¢The 'proxy_auth' parameter is deprecated and will be removed in v4; pass proxy_headers={'Proxy-Authorization': aiohttp.encode_basic_auth(login, password)} insteadc                 s   s   � | ]}t |ƒV  qd S ©N©r   ©Ú.0Úir|   r|   r}   Ú	<genexpr>ç  s   € z)ClientSession.__init__.<locals>.<genexpr>T)=rÊ   rË   ÚasyncioÚget_running_loopÚ
isinstancer   rÇ   r­   rÈ   ÚabsoluteÚpathÚendswithÚ
ValueErrorrV   r½   rÓ   ÚwarningsÚwarnÚDeprecationWarningÚattrÚevolverh   ÚtyperI   ÚRuntimeErrorÚ	get_debugÚ	tracebackÚextract_stackÚsysÚ	_getframerÉ   rK   rÌ   Úupdate_cookiesrÍ   rÎ   rÏ   rÐ   rÑ   rÔ   rÕ   rÖ   rÒ   rÝ   rÞ   rß   rà   r   r×   Ú	frozensetrØ   rÙ   rÚ   rÛ   rÜ   Úfreezerá   râ   rã   rä   rå   )#Úselfrû   rë   rì   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ú   Úreal_headersÚtrace_configr|   r|   r}   Ú__init__J  sÖ   &
ýý€
ÿÿÿýÿ

û
û



zClientSession.__init__Úclsc                 C   s   t jd| j› d�tdd� d S )NzInheritance class z" from ClientSession is discouragedrü   rý   )r  r  rœ   r  )r"  r|   r|   r}   Ú__init_subclass__ú  s
   
ýzClientSession.__init_subclass__ÚnameÚvalc                    s4   || j vrtjd|› d�tdd� tƒ  ||¡ d S )NzSetting custom ClientSession.z attribute is discouragedrü   rý   )ÚATTRSr  r  r  ÚsuperÚ__setattr__)r  r$  r%  ©Ú	__class__r|   r}   r(    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  ÚResourceWarningrÉ   rË   Úcall_exception_handler)r  r+  ÚkwargsÚcontextr|   r|   r}   Ú__del__  s   
ÿÿ


øzClientSession.__del__rk   r§   Úurlr3  Ú_RequestContextManagerc                 K   ó   d S r  r|   ©r  r§   r6  r3  r|   r|   r}   ri     s   zClientSession.requestc                 K   s   t | j||fi |¤ŽƒS )zPerform HTTP request.)r7  Ú_requestr9  r|   r|   r}   ri   "  s   Ú
str_or_urlc                 C   s$   t |ƒ}| jr|js| j |¡S |S r  )r   rÇ   r  Újoin)r  r;  r6  r|   r|   r}   Ú
_build_url(  s   zClientSession._build_urlé
   )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î
  �|!d ur	|!  ¡  d }"d }#g ‰	d }$d }%�zˆjrtdƒ‚| ¡ }t||||ƒ}|	d ur3tjdtdd� |d ur?tjdtdd� |d urK|d urKtdƒ‚|d ureˆj	d ur]t
j|ˆj	d�}nt
j|ˆjd�}t|tƒst|d urtt dt¡ d	}&g }'ˆj}(|p~i }ˆ |¡}zˆ |¡})W n tyœ }* zt|ƒ|*‚d }*~*ww ˆjd us¤J ‚|)jˆjjvr¯t|)ƒ‚|d ur¾d
d„ |D ƒˆjB }+n	ˆjrÅˆj}+nd }+|d u rÎˆj}|d u rÕˆj}|d u rÜd }nˆ |¡}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 �r6ˆj'‰ˆd u �r>ˆj(‰ˆd u �rFˆj)‰ˆj*D ]},t+ˆ|,|,j,|d�ƒ}-|- -||) .|¡|¡I d H  ˆ	 /|-¡ �qI|" 0¡ ‰ˆ��; ˆj1�ox|t2v }.	 t3|)ƒ\})}/|)j4�s�|&�r‰t5nt}0|0|)ƒ‚|'�sœ|	�rœ|/�rœtdƒ‚|	d u �s©|'�r«|/d u�r«|/}	|	d u �rÃˆj6�rÃˆj7�rÀˆj8|) 9¡ k�rÃˆj6}	|	d u �rßˆj:�rß|)j;d u�rßˆj! <d ˆj=|)j;¡I d H }	|d u�ró|	d u�rót>j?|v �rótdƒ‚ˆj@ A|)¡}1|d u�rtBˆj@jCˆj@jDtEˆj@jFƒd�}2|2 G|¡ |2 A|)¡}3|3�r|1 H|3¡ d }4|d u�r+t|ƒ}4n$ˆj:�rOtItJƒ� tK LtM|)¡I d H \}4}W d   ƒ n	1 �sJw   Y  ˆjN||)fi d|“d|“d|+“d|“d|1“d|	“d|(“d|“d|“d|“dˆj!“dˆjO“d|4“d |“d!ˆ“d"ˆ“d#|d u�r�|nd“d$|“d%|“d&ˆ	“d'ˆjP“Ž}$|!|$_Qd(tRd)tSf‡ ‡‡‡‡‡‡‡‡‡	f
d*d+„}5| d u �r¿ˆjTn| }6|6�rÊtU|5|6ƒ}7n|5}7z	|7|$ƒI d H }%W nb tVtWtXtYf�yâ   ‚  tZt[f�y   |.�sï‚ d,}.|d u�r|$ \¡ I d H  |$j]d u�r	|$j]j^�r	‚ |$j]}Y �qy t_�y   ‚  t`�y7 }8 z|8jad u �r-t|8tKjbƒ�r-‚ tZ|8jcŽ |8‚d }8~8ww |%jd�rEˆj@ e|%jd|%jf¡ |%jgd-v �r£|
�r£ˆ	D ]}-|- h||) .|¡||%¡I d H  �qP|&d.7 }&|' /|%¡ |�r�|&|k�r�|$j]d u�r�|$j] \¡ I d H  |% \¡  ti|'d	 jjtk|'ƒƒ‚|%jgd/k�rœ|%jlt>jmk�s©|%jgd0v �r¼|%jlt>jnk�r¼t>jo}d }| pt>jq¡�r»| rt>jq¡ n|$j]d u�rÏ|$j]j^�rÏ|% \¡  tsd1ƒ‚|$j]}|%jt pt>ju¡�pà|%jt pt>jv¡}9|9d u �rçn½|% w¡  z
t|9ˆjx d2�}:W n% t�y }* z|$j]d u�r|$j] \¡ I d H  |% \¡  t5|9d3ƒ|*‚d }*~*ww |:j};|;tyv�r9|$j]d u�r1|$j] \¡ I d H  |% \¡  tz|9ƒ‚|;�rH|;|)jk�rMt{|9|;ƒ�rM|) ||:¡}:z|: 9¡ }<W n% t�yx }= z|$j]d u�rj|$j] \¡ I d H  |% \¡  t5|:d4ƒ|=‚d }=~=ww |) 9¡ |<k�r™d }	d }| }t>j?d ¡ | }t>j~d ¡ | }t>jd ¡ |:})i }|% w¡  �qy	 W d   ƒ n	1 �s¯w   Y  |$j]d u�rÂ|$j] \¡ I d H  |d u �rÊˆj€}|d u �rÐnt�|ƒ�rÝ||%ƒI d H  n|�rä|% ‚¡  |#d u�rû|%jƒd u�r÷|%jƒ „|#j…¡ n|# …¡  tk|'ƒ|%_†ˆ	D ]}-|- ‡||) .|¡||%¡I d H  �q|!d u�r|! ˆ¡  |%W S  t‰�yv }* zJ|"d u�r1|" \¡  |#�r8|# …¡  |!d u�rA|! ˆ¡  |%d u�rJ|% \¡  |$d u�r]|$j]d u�r]|$j] \¡ I d H  ˆ	D ]}-|- Š||) .|¡||*¡I d H  �q_‚ d }*~*ww )5NzSession is closedr   rl   rý   r  z9data and json parameters can not be used at the same time)ÚdumpszChunk size is deprecated #1615r   c                 S   s   h | ]}t |ƒ’qS r|   r  r  r|   r|   r}   Ú	<setcomp>   s    ÿz)ClientSession._request.<locals>.<setcomp>r¤   )r»   )r”   Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)ÚunsafeÚquote_cookieÚtreat_as_secure_originr€   r„   r…   r�   rƒ   r†   rò   r‰   rŠ   r‹   rì   rð   rŽ   r�   ÚtimerÚsessionr‘   r’   r“   Útracesr÷   Úreqrs   c                 “   s  �ˆj d usJ ‚| j }d ur| ¡ | _zˆj j| ˆ	ˆd�I d H }W n tjy8 } z	td| j› �ƒ|‚d }~ww |j	d us@J ‚|j	j
ˆ| jtv ˆˆ ˆjˆˆj jˆˆˆd�
 z!|  |¡I d H }z| |¡I d H  W W |S  tyw   | ¡  ‚ w  tyƒ   | ¡  ‚ w )N)rF  r�   zConnection timeout to host )
rD  Úskip_payloadr�   r–   rõ   r•   Útimeout_ceil_thresholdr—   r˜   r™   )rÊ   Ú_upload_trackerÚ_attempt_startedÚ_upload_genr·   r  ÚTimeoutErrorr*   r6  ÚprotocolÚset_response_paramsr§   rP   r¸   Ú_timeout_ceil_thresholdÚsendÚstartÚBaseExceptionÚclose)rG  ÚtrackerÚconnÚexcÚresp©
r–   r˜   r™   r—   r•   r�   Úreal_timeoutr  rD  rF  r|   r}   Ú_connect_and_send_requestN  sT   €
ÿ
ÿþ€ÿöúþþz9ClientSession._request.<locals>._connect_and_send_requestF)é-  é.  é/  i3  i4  r   r^  )r\  r]  zzCannot follow redirect with a consumed request body. Use bytes, a seekable file-like object, or set allow_redirects=False.)ÚencodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)‹Ú_bindr0  r  ÚupperrB   r  r  r  r  rÑ   r   ÚJsonBytesPayloadÚJsonPayloadrÐ   r
  r¡   rÏ   Ú_prepare_headersr=  r-   rÊ   rr   Úallowed_protocol_schema_setr/   rØ   râ   rã   r   r,   rV   rÓ   rh   rR   rË   r¥   r»   rR  rÝ   rÕ   rÞ   rß   rà   rÜ   r_   Útrace_config_ctxÚsend_request_startÚupdate_queryÚappendrD  rä   ÚIDEMPOTENT_METHODSrW   Úraw_hostr.   rÎ   rÇ   rÈ   r­   rÖ   ÚhostÚrun_in_executorÚ_get_netrc_authr   ÚAUTHORIZATIONrÌ   Úfilter_cookiesrL   rA  rB  r  rC  r  Úloadr   ÚLookupErrorr  Ú	to_threadrT   rÙ   rÚ   r÷   rJ  r=   r>   rå   r<   r*   r!   r   r"   r%   r3   rT  Ú_bodyÚconsumedr#   ÚOSErrorÚerrnorM  ÚargsÚ_raw_cookie_headersÚupdate_cookies_from_headersr6  ÚstatusÚsend_request_redirectr7   Úrequest_infoÚtupler§   Ú	METH_HEADÚ	METH_POSTÚMETH_GETÚgetÚCONTENT_LENGTHÚpopr&   r„   ÚLOCATIONÚURIÚreleaserÒ   rF   r0   r~   r<  ÚpopallÚCOOKIEÚPROXY_AUTHORIZATIONrÔ   ÚcallablerŒ   Ú
connectionÚadd_callbackÚcancelÚ_historyÚsend_request_endÚ	_finalizerS  Úsend_request_exception)>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›   ÚtmÚhandlerG  rX  Ú	redirectsÚhistoryrò   r6  ÚeÚskip_headersr   ÚtraceÚretry_persistent_connectionÚauth_from_urlÚerr_exc_clsÚall_cookiesÚtmp_cookie_jarÚreq_cookiesÚproxy_r[  Úeffective_middlewaresÚhandlerrW  Úr_urlÚparsed_redirect_urlrr   Úredirect_originÚorigin_val_errr|   rY  r}   r:  .  sú  €.ûûÿ
ÿ

€ÿÿþ

€ÿ
ý






ý
ÿÿÿýÿ
ÿý

ÿ

ÿ
ÿý





ÿÿþýüûúùø	÷
öõôóòñðïî€íìëêéÿ þ+ÿÿü
€ýÿÿ
ÿ€
ÿÿ

ÿþý€ü	

þý€ü	€ � �Ï  3




ÿ



ÿ€ëzClientSession._request.)Údecode_textr§  zB_BaseRequestContextManager[ClientWebSocketResponse[Literal[True]]]c                K   r8  r  r|   ©r  r6  r§  r3  r|   r|   r}   Ú
ws_connectI  ó   zClientSession.ws_connectzC_BaseRequestContextManager[ClientWebSocketResponse[Literal[False]]]c                K   r8  r  r|   r¨  r|   r|   r}   r©  R  rª  z9_BaseRequestContextManager[ClientWebSocketResponse[bool]]c                K   r8  r  r|   r¨  r|   r|   r}   r©  [  rª  r   i  @ )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–   t | j|fi d|“d|“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§   r¨   r�   r©   rª   r«   r¬   r†   r­   r€   r„   rŽ   r�   r‘   r®   r¯   r°   r’   r“   r‰   r±   r§  )Ú_WSRequestContextManagerÚ_ws_connect)r  r6  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©  d  sb   ÿþýüûúùø	÷
öõôóòñðïîíìëêéÿz&ClientWebSocketResponse[Literal[True]]c                Ë   ó   �d S r  r|   r¨  r|   r|   r}   r¬  ž  ó   €zClientSession._ws_connectz'ClientWebSocketResponse[Literal[False]]c                Ë   r­  r  r|   r¨  r|   r|   r}   r¬  §  r®  zClientWebSocketResponse[bool]c                Ë   r­  r  r|   r¨  r|   r|   r}   r¬  °  r®  c          /      Ã   s:  �|	d urt jdtdd� |d urt jdtdd� |tur3t|tƒr%|}nt jdtdd� t|d�}nt}|d urHt jdtdd� tj||d	�}|d u rPt	ƒ }nt	|ƒ}t
jd
t
jdt
jdi}| ¡ D ]
\}}| ||¡ qct t d¡¡}| ¡ |t
j< |r‡d |¡|t
j< |
d ur�|
|t
j< |rœt|d�}||t
j< |d u rªt jdtdd� d}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�r3t|j|j d|j|j!d�‚d }"|�r\t
j|j!v �r\dd„ |j!t
j  )d¡D ƒ}#|#D ]}$|$|v �rZ|$}" n�qOd}%|�r–|j! "t
j¡}&|&�r’zt*|&ƒ\}}%W n" t+�y‘ }' zt|j|j |'j,d |j|j!d�|'‚d }'~'ww d}d}%|j-}(|(d u�s J ‚|(j.})|)d u�sªJ ‚|j/d u �r´d |)_0n|)j0d u�rÂt1|j/|)j0ƒ|)_0|(j2}*|*d u�sÌJ ‚t3|)t4| j5d�}+t6|)|*d||%d �},W n t7�yë   | 8¡  ‚ w | j9|+|,|"||||| j5|||%d!�}-t:|+|t;|ƒ|d"�|-_<|d u �rd n|-j=}.|)j>|-j<|+|.d#� |-S )$Nr   rl   rý   r  zeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'rü   )Úws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')Ú
ws_receiveÚ	websocketÚUpgradeÚ13é   ú,)r‰   z+ssl=None is deprecated, please use ssl=TrueTF)	r€   r„   r�   r†   rŽ   r�   r‘   r’   r“   ée   zInvalid response status)r.  r{  r„   ro   zInvalid upgrade headerÚupgradezInvalid connection headerzInvalid challenge responsec                 S   s   g | ]}|  ¡ ‘qS r|   )rv   )r  Úprotor|   r|   r}   Ú
<listcomp>Z  s    ÿÿz-ClientSession._ws_connect.<locals>.<listcomp>r   rÿ   )Úuse_maskr‰   Ú
notakeover)r¬   r‰   Úclient_notakeover)r‰   r§  )Údata_received_cb)?r  r  r  rV   r
  rE   rC   r  r  r   r   ÚUPGRADEÚ
CONNECTIONÚSEC_WEBSOCKET_VERSIONÚitemsÚ
setdefaultÚbase64Ú	b64encodeÚosÚurandomÚdecodeÚSEC_WEBSOCKET_KEYr<  ÚSEC_WEBSOCKET_PROTOCOLÚORIGINr]   ÚSEC_WEBSOCKET_EXTENSIONSrB   ri   r{  r:   r}  r–  r„   r‚  ÚlowerÚSEC_WEBSOCKET_ACCEPTÚhashlibÚsha1rX   ÚdigestÚsplitr^   r\   rx  rŒ  rN  r°  rõ   ÚmaxÚ	transportr   rO   rË   r[   rS  rT  rÛ   rZ   r¡   Ú_parserÚ_on_data_receivedÚ
set_parser)/r  r6  r§   r¨   r�   r©   rª   r«   r¬   r†   r­   r€   r„   rŽ   r�   r‘   r®   r¯   r°   r’   r“   r‰   r±   r§  Ú
ws_timeoutr  Údefault_headersÚkeyÚvalueÚsec_keyÚextstrrX  Úr_keyÚmatchrN  Úresp_protocolsr¸  r»  Úcompress_hdrsrW  rV  Ú
conn_protorÓ  ÚreaderÚwriterÚws_respÚcbr|   r|   r}   r¬  ¹  sh  €ûû
ûûý


ýõ
ûûû	
û	þ
þûú€ÿ	ÿ
ûþõüú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   ÚsetrÁ  Úadd)r  r„   ÚresultÚadded_namesrÙ  rÚ  r|   r|   r}   rd  «  s   
zClientSession._prepare_headersrl  c                 C   s(   t ƒ }zt||ƒW S  ty   Y dS w )z§
        Get auth from netrc for the given host.

        This method is designed to be called in an executor to avoid
        blocking I/O in the event loop.
        N)rU   rS   rr  )r  rl  Ú	netrc_objr|   r|   r}   rn  »  s   ÿzClientSession._get_netrc_authc                 K   r8  r  r|   ©r  r6  r3  r|   r|   r}   r‚  Ê  ó   zClientSession.getc                 K   r8  r  r|   rì  r|   r|   r}   ÚoptionsÐ  rí  zClientSession.optionsc                 K   r8  r  r|   rì  r|   r|   r}   ÚheadÖ  rí  zClientSession.headc                 K   r8  r  r|   rì  r|   r|   r}   ÚpostÜ  rí  zClientSession.postc                 K   r8  r  r|   rì  r|   r|   r}   Úputâ  rí  zClientSession.putc                 K   r8  r  r|   rì  r|   r|   r}   Úpatchè  rí  zClientSession.patchc                 K   r8  r  r|   rì  r|   r|   r}   Údeleteî  rí  zClientSession.delete)r‡   c                K   ó   t | jtj|fd|i|¤ŽƒS )zPerform HTTP GET request.r‡   )r7  r:  r   r�  ©r  r6  r‡   r3  r|   r|   r}   r‚  ö  ó   ÿÿÿÿc                K   rô  )zPerform HTTP OPTIONS request.r‡   )r7  r:  r   ÚMETH_OPTIONSrõ  r|   r|   r}   rî     rö  c                K   rô  )zPerform HTTP HEAD request.r‡   )r7  r:  r   r  rõ  r|   r|   r}   rï  
  rö  )r�   c                K   rô  )zPerform HTTP POST request.r�   )r7  r:  r   r€  ©r  r6  r�   r3  r|   r|   r}   rð    ó   ÿc                K   rô  )zPerform HTTP PUT request.r�   )r7  r:  r   ÚMETH_PUTrø  r|   r|   r}   rñ    rù  c                K   rô  )zPerform HTTP PATCH request.r�   )r7  r:  r   Ú
METH_PATCHrø  r|   r|   r}   rò  $  rù  c                 K   s   t | jtj|fi |¤ŽƒS )zPerform HTTP DELETE request.)r7  r:  r   ÚMETH_DELETErì  r|   r|   r}   ró  ,  s   ÿc                 Ã   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)r0  rÊ   rÍ   rT  ©r  r|   r|   r}   rT  2  s   €
ýzClientSession.closec                 C   s   | j du p| j jS )z@Is client session closed.

        A readonly property.
        N)rÊ   r0  rý  r|   r|   r}   r0  <  s   zClientSession.closedc                 C   ó   | j S )z(Connector instance used for the session.©rÊ   rý  r|   r|   r}   rë   D  ó   zClientSession.connectorc                 C   rþ  )zThe session cookies.)rÌ   rý  r|   r|   r}   ró   I  r   zClientSession.cookie_jarc                 C   rþ  )z"The session HTTP protocol version.)rÏ   rý  r|   r|   r}   rò   N  r   zClientSession.versionc                 C   rþ  )ú)Do URL requoting on redirection handling.)rÒ   rý  r|   r|   r}   ræ   S  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  rÒ   )r  r%  r|   r|   r}   ræ   X  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  rË   rý  r|   r|   r}   rì   b  s   ÿzClientSession.loopc                 C   rþ  )zTimeout for the session.)rÓ   rý  r|   r|   r}   r�   j  r   zClientSession.timeoutc                 C   rþ  )z*The default headers of the client session.)r×   rý  r|   r|   r}   r„   o  r   zClientSession.headersc                 C   rþ  )z2Headers for which autogeneration should be skipped)rØ   rý  r|   r|   r}   r…   t  r   zClientSession.skip_auto_headersc                 C   rþ  )z2An object that represents HTTP Basic Authorization)rÎ   rý  r|   r|   r}   r†   y  r   zClientSession.authc                 C   rþ  )zJson serializer callable)rÐ   rý  r|   r|   r}   rí   ~  r   zClientSession.json_serializec                 C   rþ  )z-Should connector be closed on session closing)rÍ   rý  r|   r|   r}   rô   ƒ  r   zClientSession.connector_ownerc                 C   rþ  )zGShould `ClientResponse.raise_for_status()` be called for each response.)rÔ   rý  r|   r|   r}   rŒ   ˆ  s   zClientSession.raise_for_statusc                 C   rþ  )z7Should the body response be automatically decompressed.)rÕ   rý  r|   r|   r}   r–   �  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ý  r|   r|   r}   r÷   ”  s   zClientSession.trust_envc                 C   rþ  )z7A list of TraceConfig instances used for client tracing)rÜ   rý  r|   r|   r}   rø   ž  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ý  r|   r|   r}   Údetach£  s   
zClientSession.detachc                 C   s   t dƒ‚)NzUse async with instead)Ú	TypeErrorrý  r|   r|   r}   Ú	__enter__ª  ó   zClientSession.__enter__Úexc_typeÚexc_valÚexc_tbc                 C   r8  r  r|   ©r  r  r  r  r|   r|   r}   Ú__exit__­  rª  zClientSession.__exit__c                 Ã   s   �| S r  r|   rý  r|   r|   r}   Ú
__aenter__¶  s   €zClientSession.__aenter__c                 Ã   s   �|   ¡ I d H  d S r  )rT  r	  r|   r|   r}   Ú	__aexit__¹  s   €zClientSession.__aexit__r  ©rs   N)rs   ræ  )rs   rg   )rrœ   r�   rž   Ú__doc__r  r&  rÉ   r  ÚStackSummaryrŸ   rÊ   rG   r‚   r?  r=   r>   rD   r   ÚHttpVersion11rV   rO   rf   r  ÚAbstractEventLooprc   rd   rQ   r   r    rb   ra   r  rY   r   r¡   r   r   r²   rM   r£   rh   Úlistr`   r¢   Ú_CharsetResolverr   r;   r!  r#  rN   r   r(  r  r5  r  Úversion_infor
   rn   r   ri   r   r=  re   r³   rj   r?   rA   r:  r   r   r¦   r©  r   r�  rE   r¬  rd  rn  r‚  rî  rï  rð  rñ  rò  ró  rT  Úpropertyr0  rë   ró   r~  rò   ræ   Úsetterrì   r�   r„   r   r…   r†   rí   rô   rŒ   r–   r÷   rø   r  r  rS  r	   r
  r  r  Ú__classcell__r|   r|   r)  r}   rg     sÐ  
 ÿ%þÞþüûúùø	÷

öõôóòñðïîíìëêéèçæ
åäãâá à!ß
"Þ#
Ý 1	þýüû	ÿÿÿ
þÛþýûúùø	÷

öõôó
òñðîìëêéèçæ
åäãâá à!ß"Þ#Ý
$Ü%Û&
Ú    üþüûúþüûúüþüûúçþüûúùø	÷
öõôóòñð
ïîíìëêéèç
æ8üþüûúþüûúüþüûúçþüûúùø	÷
öõôóòñð
ïîíìëêéèç
æ sþý
üþý
üþý
üþý
üþý
üþý
üþýü	ÿÿÿÿ
þÿÿÿÿ
þÿÿÿÿ
þÿÿÿÿ
þ	ÿÿÿÿ
þ	ÿÿÿÿ
þ

	þ	


þýü
û
	
þýüûrg   c                   @   sØ   e Zd ZdZdeeje def ddfdd„Z	dddeje fdd	„Z
d
ededeje 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ee dB dedB dedB ddfdd„ZdS )Ú_BaseRequestContextManager)Ú_coroÚ_respÚcoroNrs   c                 C   s
   || _ d S r  )r  )r  r  r|   r|   r}   r!  È  ó   
z#_BaseRequestContextManager.__init__Úargc                 C   s   | j  |¡S r  )r  rQ  )r  r  r|   r|   r}   rQ  Ë  s   z_BaseRequestContextManager.sendrx  r3  c                 O   s   | j j|i |¤ŽS r  )r  Úthrow)r  rx  r3  r|   r|   r}   r  Î  s   z _BaseRequestContextManager.throwc                 C   s
   | j  ¡ S r  )r  rT  rý  r|   r|   r}   rT  Ñ  r  z _BaseRequestContextManager.closec                 C   s   | j  ¡ }|S r  )r  Ú	__await__)r  Úretr|   r|   r}   r  Ô  s   
z$_BaseRequestContextManager.__await__c                 C   s   |   ¡ S r  )r  rý  r|   r|   r}   Ú__iter__Ø  r  z#_BaseRequestContextManager.__iter__c                 Ã   s    �| j I d H | _| j ¡ I d H S r  )r  r  r  rý  r|   r|   r}   r  Û  s   €z%_BaseRequestContextManager.__aenter__r  rW  Útbc                 Ã   s   �| j  |||¡I d H  d S r  )r  r  ©r  r  rW  r"  r|   r|   r}   r  ß  s   €z$_BaseRequestContextManager.__aexit__r  )rœ   r�   rž   Ú	__slots__r   r  ÚFuturer   rÄ   r!  rQ  r  rT  r   r  r!  r  r  rS  r	   r  r|   r|   r|   r}   r  Â  s$    "

þýüûr  c                   @   sn   e Zd ZdZdeeje def de	ddfdd„Z
defdd	„Zd
ee dB dedB dedB ddfdd„ZdS )Ú_SessionRequestContextManager©r  r  Ú_sessionr  NrE  rs   c                 C   s   || _ d | _|| _d S r  r'  )r  r  rE  r|   r|   r}   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  rS  r(  rT  rý  r|   r|   r}   r  ù  s   €üþz(_SessionRequestContextManager.__aenter__r  rW  r"  c                 Ã   s.   �| j d usJ ‚| j  ¡  | j ¡ I d H  d S r  )r  rT  r(  r#  r|   r|   r}   r    s   €
z'_SessionRequestContextManager.__aexit__)rœ   r�   rž   r$  r   r  r%  r   r>   rg   r!  r  r  rS  r	   r  r|   r|   r|   r}   r&  ì  s&    þý
ü		
þýüûr&  )rò   rë   rì   r§   r6  rò   rë   rì   r3  c                K   r8  r  r|   )r§   r6  rò   rë   rì   r3  r|   r|   r}   ri     s   ri   c                K   sZ   d}|du rd}t |dd�}t|| dd¡|| dt¡||d�}t|j| |fi |¤Ž|ƒS )aB  Constructs and sends a request.

        Returns response object.
        method - HTTP method
        url - request url
        params - (optional) Dictionary or bytes to be sent in the query
        string of the new request
        data - (optional) Dictionary, bytes, or file-like object to
        send in the body of the request
        json - (optional) Any json compatible python object
        headers - (optional) Dictionary of HTTP Headers to send with
        the request
        cookies - (optional) Dict object to send with the request
        auth - (optional) BasicAuth named tuple represent HTTP Basic Auth
        auth - aiohttp.helpers.BasicAuth
        allow_redirects - (optional) If set to False, do not follow
        redirects
        version - Request HTTP version.
        compress - Set to True if request has to be compressed
        with deflate encoding.
        chunked - Set to chunk size for chunked transfer encoding.
        expect100 - Expect 100-continue response from server.
        connector - BaseConnector sub-class instance to support
        connection pooling.
        read_until_eof - Read response until eof if response
        does not have Content-Length header.
        loop - Optional event loop.
        timeout - Optional ClientTimeout settings structure, 5min
        total timeout by default.
        Usage::
        >>> import aiohttp
        >>> async with aiohttp.request('GET', 'http://python.org/') as resp:
        ...    print(resp)
        ...    data = await resp.read()
        <ClientResponse(https://www.python.org/) [200 OK]>
        FNT)rì   Úforce_closerƒ   r�   )rì   rƒ   rò   r�   rë   rô   )rI   rg   r„  rV   r&  r:  )r§   r6  rò   rë   rì   r3  rô   rE  r|   r|   r}   ri     s    -

ú	þ)£r  r  rÃ  rÎ  r‚   rÅ  r  r  r  Úcollections.abcr   r   r   r   r   r   Ú
contextlibr   Útypesr	   Útypingr
   r   r   r   r   r   r   r   r  Ú	multidictr   r   r   r   Úyarlr   ro   r   r   r   Ú_websocket.readerr   Úabcr   Úclient_exceptionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   Úclient_middlewaresr;   r<   Úclient_reqrepr=   r>   r?   r@   rA   rB   Ú	client_wsrC   rD   rE   rë   rF   rG   rH   rI   rJ   Ú	cookiejarrK   rL   ÚhelpersrM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   Úhttp_websocketr\   r]   r^   Útracingr_   r`   Útypedefsra   rb   rc   rd   re   rf   Ú__all__r‘   rj   r  rn   r<  ÚmapÚchrÚrangerw   r    Ú	maketransry   r¡   r~   r   r¦   Úsrh   r½   rŸ   r  rj  rÄ   r³   r  rg   r  r7  r«  r&  r  r  ri   r|   r|   r|   r}   Ú<module>   sÔ     (€  4 	5
ý           
.ÿ&!úÿþüûúùøúÿþüûúùø