Ë
    ŠV.jV°  ã                   ó
  — 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Zd dl	m
Z
mZmZ d dlmZmZ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  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,m-Z-m.Z. dd
l/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z; ddl+m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZF ddl,mGZGmHZHmIZImJZJmKZK ddlLmMZM ddlNmOZO ddlPmQZQmRZRmSZSmTZTmUZUmVZV 	 d dlWZWd dlWmXZX dZ[erddl\m]Z] ddl^m_Z_ ddl`maZa  ejÄ                  d«      Zc ejÄ                  d«      Zddeefd„Zf e!jÎ                  ddd¬«       G d„ d«      «       Zh G d „ d!e«      Zi G d"„ d#ei«      Zj G d$„ d%«      ZkeW�eWj°                  elek emd«      fZnn
el emd«      fZnd&e d'elekf   d(eel   d)ed'   d*eeo   de d'elekf   f
d+„Zp eqd,«      Zr G d-„ d.e«      Zsd/eed0eedelfd1„Zt G d2„ d3«      Zu e2d4«      Zv G d5„ d6e?«      Zwy# eY$ r dZWeZZXY �Œw xY w)7é    N)Úmd5Úsha1Úsha256)ÚCookieErrorÚMorselÚSimpleCookie)ÚMappingProxyTypeÚTracebackType)ÚTYPE_CHECKINGÚAnyÚCallableÚDictÚIterableÚListÚMappingÚ
NamedTupleÚOptionalÚTupleÚTypeÚUnion)ÚCIMultiDictÚCIMultiDictProxyÚ	MultiDictÚMultiDictProxy)ÚURLé   )ÚhdrsÚhelpersÚhttpÚ	multipartÚpayload)ÚAbstractStreamWriter)ÚClientConnectionErrorÚClientOSErrorÚClientResponseErrorÚContentTypeErrorÚ
InvalidURLÚServerFingerprintMismatch©Ú
HAS_BROTLI)ÚFormData)Ú	_SENTINELÚBaseTimerContextÚ	BasicAuthÚHeadersMixinÚ	TimerNoopÚbasicauth_from_netrcÚnetrc_from_envÚnoopÚreifyÚset_exceptionÚ
set_result)ÚSERVER_SOFTWAREÚHttpVersionÚHttpVersion10ÚHttpVersion11ÚStreamWriter)Úclient_logger)ÚStreamReader)ÚDEFAULT_JSON_DECODERÚJSONDecoderÚLooseCookiesÚLooseHeadersÚQueryÚ
RawHeaders)Ú
SSLContext)ÚClientRequestÚClientResponseÚRequestInfoÚFingerprint)ÚClientSession)Ú
Connection)ÚTracez[^-!#$%&'*+.^_`|~0-9a-zA-Z]z!^application/(?:[\w.+-]+?\+)?jsonÚreturnc                  ó   — t         rdS dS )Nzgzip, deflate, brzgzip, deflater)   © ó    úWC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\aiohttp/client_reqrep.pyÚ_gen_default_accept_encodingrQ   `   s   € Ý",ÐÐA°/ÐArO   T)Úauto_attribsÚfrozenÚslotsc                   ó8   — e Zd ZU ee   ed<   ded<   ee   ed<   y)ÚContentDispositionÚtypezMappingProxyType[str, str]Ú
parametersÚfilenameN)Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚ__annotations__rN   rO   rP   rV   rV   d   s   … à
�3‰-ÓØ,Ó,Ø�s‰mÔrO   rV   c                   ó6   — e Zd ZU eed<   eed<   ded<   eed<   y)Ú_RequestInfoÚurlÚmethodúCIMultiDictProxy[str]ÚheadersÚreal_urlN)rZ   r[   r\   r   r^   r]   rN   rO   rP   r`   r`   k   s   … Ø	ƒHØƒKØ$Ó$Ø„MrO   r`   c                   ó,   — e Zd Zefdededddedd f
d„Zy)	rG   ra   rb   rd   rc   re   rL   c                 óT   — t         j                  | ||||t        u r|f«      S |f«      S )zuCreate a new RequestInfo instance.

        For backwards compatibility, the real_url parameter is optional.
        )ÚtupleÚ__new__r,   )Úclsra   rb   rd   re   s        rP   ri   zRequestInfo.__new__t   s:   € ô �}‰}Ø�#�v˜w¨x¼9Ñ/D¨ÐSó
ð 	
ØJRÐSó
ð 	
rO   N)rZ   r[   r\   r,   r   r]   ri   rN   rO   rP   rG   rG   r   s<   „ ð "ñ
àð
ð ð
ð )ð	
ð
 ð
ð 
ô
rO   rG   c                   ób   — e Zd ZeeedœZdeddfd„Ze	defd„«       Z
dej                  ddfd„Zy)	rH   )é   é   é    ÚfingerprintrL   Nc                 ó¼   — t        |«      }| j                  j                  |«      }|st        d«      ‚|t        u s|t
        u rt        d«      ‚|| _        || _        y )Nzfingerprint has invalid lengthz8md5 and sha1 are insecure and not supported. Use sha256.)ÚlenÚHASHFUNC_BY_DIGESTLENÚgetÚ
ValueErrorr   r   Ú	_hashfuncÚ_fingerprint)Úselfro   Ú	digestlenÚhashfuncs       rP   Ú__init__zFingerprint.__init__‹   sZ   € Ü˜Ó$ˆ	Ø×-Ñ-×1Ñ1°)Ó<ˆÙÜÐ=Ó>Ð>Øœ‰_ ¬DÑ 0ÜÐWÓXÐXØ!ˆŒØ'ˆÕrO   c                 ó   — | j                   S ©N)rv   ©rw   s    rP   ro   zFingerprint.fingerprint•   ó   € à× Ñ Ð rO   Ú	transportc                 ó"  — |j                  d«      sy |j                  d«      }|j                  d¬«      }| j                  |«      j                  «       }|| j                  k7  r,|j                  d«      ^}}}t        | j                  |||«      ‚y )NÚ
sslcontextÚ
ssl_objectT)Úbinary_formÚpeername)Úget_extra_infoÚgetpeercertru   Údigestrv   r(   )rw   r   ÚsslobjÚcertÚgotÚhostÚportÚ_s           rP   ÚcheckzFingerprint.check™   s�   € Ø×'Ñ'¨Ô5ØØ×)Ñ)¨,Ó7ˆØ×!Ñ!¨dÐ!Ó3ˆØ�n‰n˜TÓ"×)Ñ)Ó+ˆØ�$×#Ñ#Ò#Ø&×5Ñ5°jÓAˆNˆD�$˜Ü+¨D×,=Ñ,=¸sÀDÈ$ÓOÐOð $rO   )rZ   r[   r\   r   r   r   rr   Úbytesrz   Úpropertyro   ÚasyncioÚ	TransportrŽ   rN   rO   rP   rH   rH   „   s]   „ àØØñÐð( Eð (¨dó (ð ð!˜Uò !ó ð!ðP˜w×0Ñ0ð P°Tô PrO   rH   ÚsslrD   Ú
verify_sslÚssl_contextro   c                 ó’  — | €d} |�/|s-t        j                  dt        d¬«       | durt        d«      ‚d} |�-t        j                  dt        d¬«       | durt        d«      ‚|} |�6t        j                  dt        d¬«       | durt        d«      ‚t	        |«      } t        | t        «      st        d	j                  | «      «      ‚| S )
NTz/verify_ssl is deprecated, use ssl=False insteadé   ©Ú
stacklevelzNverify_ssl, ssl_context, fingerprint and ssl parameters are mutually exclusiveFz2ssl_context is deprecated, use ssl=context insteadzCfingerprint is deprecated, use ssl=Fingerprint(fingerprint) insteadzFssl should be SSLContext, bool, Fingerprint or None, got {!r} instead.)	ÚwarningsÚwarnÚDeprecationWarningrt   rH   Ú
isinstanceÚSSL_ALLOWED_TYPESÚ	TypeErrorÚformat)r“   r”   r•   ro   s       rP   Ú_merge_ssl_paramsr¡   ª   sù   € ð €{ØˆØÐ¡jÜ�‰Ø=ÜØõ	
ð
 �d‰?Üð4óð ð
 ˆCØÐÜ�‰Ø@ÜØõ	
ð
 �d‰?Üð4óð ð
 ˆCØÐÜ�‰ØQÜØõ	
ð
 �d‰?Üð4óð ô
 ˜kÓ*ˆCÜ�cÔ,Ô-Üð ß &¡ s£ó
ð 	
ð €JrO   )ÚhttpsÚwssc                   óx   — e Zd ZU eed<   ee   ed<   eed<   ee	ee
f   ed<   ee   ed<   ee   ed<   ee   ed<   y)	ÚConnectionKeyr‹   rŒ   Úis_sslr“   ÚproxyÚ
proxy_authÚproxy_headers_hashN)rZ   r[   r\   r]   r^   r   ÚintÚboolr   rD   rH   r   r.   rN   rO   rP   r¥   r¥   ç   sI   … ð ƒIØ
�3‰-ÓØƒLØ	ˆz˜4 Ð,Ñ	-Ó-Ø�C‰=ÓØ˜Ñ#Ó#Ø  ™Ô%rO   r¥   Úresponse_content_typeÚexpected_content_typec                 óB   — |dk(  rt         j                  | «      d uS || v S )Núapplication/json)Újson_reÚmatch)r¬   r­   s     rP   Ú_is_expected_content_typer²   ó   s.   € ð Ð 2Ò2Ü�}‰}Ð2Ó3¸4Ð?Ð?Ø Ð$9Ð9Ð9rO   c            0       ó   — e Zd ZU ej                  ej
                  ej                  ej                  hZej                  ej                  ej                  hZej                  e«      j                  ej                  h«      Zej                   dej"                   e«       iZdZeed<   dZdZdZdZdZed   ed<   ddddddej<                  ddddddddddddddd	œd
ede de!dee"   dee#e      dedee$   dee%   dejL                  de'ee(df   dee(   de(dee)jT                     dee+d      dee    dee%   dee,   ded   de'e-e(e.f   dee"   d ee/d!      d"e(d#ee   f.d$„Z0dJd%e1d&dfd'„Z2e3d&e4d   fd(„«       Z5e3d&ed)   fd*„«       Z6e6jn                  dKd,„«       Z6d&e(fd-„Z8e3d&e'd.e(e.f   fd/„«       Z9e3d&e:fd0„«       Z;e3d&efd1„«       Z<e3d&ee=   fd2„«       Z>e3d&e?fd3„«       Z@de d&dfd4„ZAde'ejL                  ef   d&dfd5„ZBdee"   d&dfd6„ZCdee#e      d&dfd7„ZDdee$   d&dfd8„ZEded&dfd9„ZFdLd:„ZGdMdee%   d"e(d&dfd;„ZHded&dfd<„ZIdMd=e(d&dfd>„ZJdee    dee%   dee"   d&dfd?„ZKd+eLd@dAd&dfdB„ZMdNdC„ZNdLdD„ZOdLdE„ZPd
ede dFeQd&dfdG„ZRd
ede ddHd&dfdI„ZSy)OrE   z*/*rO   ÚbodyNzCIMultiDict[None]Ú_skip_auto_headersFT)Úparamsrd   Úskip_auto_headersÚdataÚcookiesÚauthÚversionÚcompressÚchunkedÚ	expect100ÚloopÚresponse_classr§   r¨   ÚtimerÚsessionr“   Úproxy_headersÚtracesÚ	trust_envÚserver_hostnamerb   ra   r¶   rd   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   rF   r§   r¨   rÁ   rÂ   rI   r“   rÃ   rÄ   rK   rÅ   rÆ   c                óº  — |€t        j                  «       }t        j                  |«      x}r t	        d|›d|j                  «       ›d�«      ‚t        |«      t        u sJ |«       ‚|�t        |«      t        u sJ |«       ‚t        r|€J ‚|| _	        |r|j                  |«      }|| _        |j                  r|j                  d «      n|| _        |j                  «       | _        || _        |
| _        || _        d | _        |€t*        }n|}|| _        |�|n	t/        «       | _        |�|nd| _        || _        |j7                  «       r-t9        j:                  t=        j>                  d«      «      | _         | jC                  |	«       | jE                  |«       | jG                  |«       | jI                  |«       | jK                  |«       | jM                  |«       | jO                  ||«       | jQ                  |||«       | jS                  |«       |€| j                   | jT                  vr| jW                  «        | jY                  |«       |€g | _-        y || _-        y )Nz+Method cannot contain non-token characters z (found at least Ú)Tr   ).r‘   Úget_event_loopÚ_CONTAINS_CONTROL_CHAR_REÚsearchrt   ÚgrouprW   r   r   Ú_sessionÚextend_queryÚoriginal_urlÚraw_fragmentÚwith_fragmentra   Úupperrb   r½   r¼   r¿   ÚlengthrF   rÀ   r0   Ú_timerÚ_sslrÆ   Ú	get_debugÚ	tracebackÚextract_stackÚsysÚ	_getframeÚ_source_tracebackÚupdate_versionÚupdate_hostÚupdate_headersÚupdate_auto_headersÚupdate_cookiesÚupdate_content_encodingÚupdate_authÚupdate_proxyÚupdate_body_from_dataÚGET_METHODSÚupdate_transfer_encodingÚupdate_expect_continueÚ_traces)rw   rb   ra   r¶   rd   r·   r¸   r¹   rº   r»   r¼   r½   r¾   r¿   rÀ   r§   r¨   rÁ   rÂ   r“   rÃ   rÄ   rÅ   rÆ   r±   Úreal_response_classs                             rP   rz   zClientRequest.__init__  s4  € ð6 ˆ<Ü×)Ñ)Ó+ˆDÜ-×4Ñ4°VÓ<Ð<ˆ5Ð<ÜØ=¸f¸Zð H#Ø#(§;¡;£=Ð"3°1ð6óð ô
 �C‹yœCÑÐ$ Ó$ÐØÐÜ˜“;¤#Ñ%Ð, uÓ,Ð%õ ØÐ&Ð&Ð&ØˆŒÙØ×"Ñ" 6Ó*ˆCØˆÔØ.1×.>Ò.>�3×$Ñ$ TÔ*ÀCˆŒØ—l‘l“nˆŒØˆŒØ ˆŒØˆŒ	ØˆŒØÐ!Ü"0Ñà"0ÐØ4GˆÔØ$Ð0‘e´i³kˆŒØ˜?‘C°ˆŒ	Ø.ˆÔà�>‰>ÔÜ%.×%<Ñ%<¼S¿]¹]È1Ó=MÓ%NˆDÔ"à×Ñ˜GÔ$Ø×Ñ˜ÔØ×Ñ˜GÔ$Ø× Ñ Ð!2Ô3Ø×Ñ˜GÔ$Ø×$Ñ$ TÔ*Ø×Ñ˜˜yÔ)Ø×Ñ˜% ¨]Ô;à×"Ñ" 4Ô(ØÐ˜tŸ{™{°$×2BÑ2BÑBØ×)Ñ)Ô+Ø×#Ñ# IÔ.Ø#˜^�rˆ�°ˆ�rO   r�   rL   c                 ó   — d | _         y r|   ©Ú_ClientRequest__writer©rw   r�   s     rP   Ú__reset_writerzClientRequest.__reset_writerh  ó	   € Øˆ�rO   c                 ó2   — | j                   xs
 t        «       S r|   )rµ   r   r}   s    rP   r·   zClientRequest.skip_auto_headersk  s   € à×&Ñ&Ò7¬+«-Ð7rO   úasyncio.Task[None]c                 ó   — | j                   S r|   rë   r}   s    rP   Ú_writerzClientRequest._writero  ó   € à�}‰}ÐrO   Úwriterc                 óª   — | j                   �%| j                   j                  | j                  «       || _         |j                  | j                  «       y r|   )rì   Úremove_done_callbackÚ_ClientRequest__reset_writerÚadd_done_callback©rw   rõ   s     rP   ró   zClientRequest._writers  s?   € à�=‰=Ð$Ø�M‰M×.Ñ.¨t×/BÑ/BÔCØˆŒØ× Ñ  ×!4Ñ!4Õ5rO   c                 ó:   — | j                   j                  t        v S r|   )ra   ÚschemeÚ_SSL_SCHEMESr}   s    rP   r¦   zClientRequest.is_sslz  s   € Ø�x‰x�‰¤,Ð.Ð.rO   rD   c                 ó   — | j                   S r|   )rÕ   r}   s    rP   r“   zClientRequest.ssl}  ó   € à�y‰yÐrO   c           
      óN  — | j                   x}r#t        t        |j                  «       «      «      }nd }| j                  }t        j                  t        |j                  xs d|j                  |j                  t        v | j                  | j                  | j                  |f«      S )NÚ )rÃ   Úhashrh   Úitemsra   ri   r¥   Úraw_hostrŒ   rü   rý   rÕ   r§   r¨   )rw   rÃ   Úhra   s       rP   Úconnection_keyzClientRequest.connection_key�  s‰   € à ×.Ñ.Ð.ˆ=Ð.Ü#¤E¨-×*=Ñ*=Ó*?Ó$@ÓA‰AàˆAØ�h‰hˆÜ�}‰}Üà—‘Ò" Ø—‘Ø—
‘
œlÐ*Ø—	‘	Ø—
‘
Ø—‘Øðó
ð 	
rO   c                 ó:   — | j                   j                  }|€J ‚|S r|   )ra   r  )rw   Úrets     rP   r‹   zClientRequest.host•  s    € à�h‰h×ÑˆØˆÐˆØˆ
rO   c                 ó.   — | j                   j                  S r|   )ra   rŒ   r}   s    rP   rŒ   zClientRequest.port›  s   € à�x‰x�}‰}ÐrO   c                 ó¤   — t        | j                  «      }t        j                  t        | j
                  | j                  || j                  f«      S r|   )r   rd   rh   ri   rG   ra   rb   rÏ   )rw   rd   s     rP   Úrequest_infozClientRequest.request_infoŸ  s?   € ä)9¸$¿,¹,Ó)Gˆô
 �}‰}Ü˜$Ÿ(™( D§K¡K°¸$×:KÑ:KÐLó
ð 	
rO   c                 óÒ   — |j                   st        |«      ‚|j                  s|j                  r8t	        j
                  |j                  xs d|j                  xs d«      | _        yy)z8Update destination host, port and connection type (ssl).r  N)	r  r'   Úraw_userÚraw_passwordr   r.   ÚuserÚpasswordrº   )rw   ra   s     rP   rÝ   zClientRequest.update_hostª  sP   € ð �|Š|Ü˜S“/Ð!ð �<Š<˜3×+Ò+Ü×)Ñ)¨#¯(©(ª.°b¸#¿,¹,Ò:LÈ"ÓMˆD�Ið ,rO   c                 ó<  — t        |t        «      rd|j                  dd«      D �cg c]  }|j                  «       ‘Œ }}	 t	        j
                  t        |d   «      t        |d   «      «      }|| _        y|| _        yc c}w # t        $ r t        d|› �«      d‚w xY w)zdConvert request version to two elements tuple.

        parser HTTP version '1.1' => (1, 1)
        Ú.r   r   z#Can not parse http version number: N)	r�   r]   ÚsplitÚstripr   r8   rª   rt   r»   )rw   r»   ÚpartÚvs       rP   rÜ   zClientRequest.update_version´  sœ   € ô
 �gœsÔ#Ø*1¯-©-¸¸QÔ*?Ó@Ñ*? $�—‘•Ð*?ˆAÐ@ðÜ×*Ñ*¬3¨q°©t«9´c¸!¸A¹$³iÓ@�ð
 ˆ��wˆ�ùò Aøô ò Ü Ø9¸'¸ÐCóàððús   ¥A=¿.B ÂBc                 ó|  — t        «       | _        | j                  j                  }|€J ‚|| j                  t        j
                  <   |syt        |t        t        t        f«      r|j                  «       }|D ]C  \  }}|t        j                  v r|| j                  |<   Œ(| j                  j                  ||«       ŒE y)zUpdate request headers.N)r   rd   ra   Úhost_port_subcomponentr   ÚHOSTr�   Údictr   r   r  ÚHOST_ALLÚadd)rw   rd   r‹   ÚkeyÚvalues        rP   rÞ   zClientRequest.update_headersÃ  sš   € ä)4«ˆŒð �x‰x×.Ñ.ˆð ÐÐÐØ"&ˆ�‰”T—Y‘YÑáØä�g¤¤n´iÐ@ÔAØ—m‘m“oˆGã!‰JˆC�à”d—m‘mÑ#Ø$)�—‘˜SÒ!à—‘× Ñ   eÕ,ñ "rO   c                 ó   — |�Vt        d„ t        |«      D «       «      | _        | j                  j	                  «       }|j                  | j                  «       n| j                  }| j                  j                  «       D ]  \  }}||vsŒ|| j                  |<   Œ t        j                  |vr"t        | j                  t        j                  <   y y )Nc              3   ó$   K  — | ]  }|d f–— Œ
 y ­wr|   rN   )Ú.0Úhdrs     rP   Ú	<genexpr>z4ClientRequest.update_auto_headers.<locals>.<genexpr>Þ  s   è ø€ ð 2Ù'@ ��d”Ñ'@ùs   ‚)r   Úsortedrµ   rd   ÚcopyÚextendÚDEFAULT_HEADERSr  r   Ú
USER_AGENTr7   )rw   r·   Úused_headersr"  Úvals        rP   rß   z!ClientRequest.update_auto_headersÜ  s³   € ØÐ(Ü&1ñ 2Ü'-Ð.?Ô'@ó2ó 'ˆDÔ#ð  Ÿ<™<×,Ñ,Ó.ˆLØ×Ñ × 7Ñ 7Õ8ð  Ÿ<™<ˆLà×,Ñ,×2Ñ2Ö4‰HˆC�Ø˜,Ò&Ø$'�—‘˜SÒ!ð 5ô �?‰? ,Ñ.Ü,;ˆD�L‰LœŸ™Ò)ð /rO   c                 ó°  — |syt        «       }t        j                  | j                  v rT|j	                  | j                  j                  t        j                  d«      «       | j                  t        j                  = t        |t        «      r|j                  «       }n|}|D ]u  \  }}t        |t        «      r[|j                  |j                  t        «       «      }|j                  |j                  |j                  |j                  «       |||<   Œq|||<   Œw |j                  dd¬«      j                  «       | j                  t        j                  <   y)zUpdate request cookies header.Nr  Ú;)ÚheaderÚsep)r   r   ÚCOOKIErd   Úloadrs   r�   r   r  r   r  Úsetr  Úcoded_valueÚoutputr  )rw   r¹   ÚcÚiter_cookiesÚnamer  Úmrsl_vals          rP   rà   zClientRequest.update_cookiesï  sò   € áØä‹NˆÜ�;‰;˜$Ÿ,™,Ñ&Ø�F‰F�4—<‘<×#Ñ#¤D§K¡K°Ó4Ô5Ø—‘œTŸ[™[Ð)ä�gœwÔ'Ø"Ÿ=™=›?‰Là"ˆLÛ'‰KˆD�%Ü˜%¤Ô(à Ÿ9™9 U§Y¡Y´³Ó9�Ø—‘˜UŸY™Y¨¯©°U×5FÑ5FÔGØ"��$’à��$’ð (ð %&§H¡H°B¸C HÓ$@×$FÑ$FÓ$Hˆ�‰”T—[‘[Ò!rO   c                 óR  — |sd| _         y| j                  j                  t        j                  «      r| j                   rt        d«      ‚y| j                   rPt        | j                   t        «      sd| _         | j                   | j                  t        j                  <   d| _        yy)zSet request content encoding.Nz9compress can not be set if Content-Encoding header is setÚdeflateT)	r¼   rd   rs   r   ÚCONTENT_ENCODINGrt   r�   r]   r½   )rw   r¸   s     rP   rá   z%ClientRequest.update_content_encoding  s…   € áà ˆDŒMØà�<‰<×ÑœD×1Ñ1Ô2Ø�}Š}Ü ØOóð ð ð �]Š]Ü˜dŸm™m¬SÔ1Ø )�”Ø26·-±-ˆD�L‰Lœ×.Ñ.Ñ/ØˆD�Lð	 rO   c                 óú  — | j                   j                  t        j                  d«      j	                  «       }d|v r| j
                  rt        d«      ‚y| j
                  rEt        j                  | j                   v rt        d«      ‚d| j                   t        j                  <   yt        j                  | j                   vr:t        t        | j                  «      «      | j                   t        j                  <   yy)z!Analyze transfer-encoding header.r  r½   zDchunked can not be set if "Transfer-Encoding: chunked" header is setz6chunked can not be set if Content-Length header is setN)rd   rs   r   ÚTRANSFER_ENCODINGÚlowerr½   rt   ÚCONTENT_LENGTHr]   rq   r´   )rw   Útes     rP   ræ   z&ClientRequest.update_transfer_encoding  sÆ   € à�\‰\×Ñœd×4Ñ4°bÓ9×?Ñ?ÓAˆà˜‰?Ø�|Š|Ü ðDóð ð ð �\Š\Ü×"Ñ" d§l¡lÑ2Ü ØLóð ð 4=ˆD�L‰Lœ×/Ñ/Ò0ä×"Ñ"¨$¯,©,Ñ6Ü47¼¸D¿I¹I»Ó4G�—‘œT×0Ñ0Ò1ð 7rO   c                 óª  — |€| j                   }|€d|rb| j                  j                  �Lt        «       }t	        j
                  t        «      5  t        || j                  j                  «      }ddd«       |€yt        |t        j                  «      st        d«      ‚|j                  «       | j                  t        j                  <   y# 1 sw Y   Œ]xY w)zSet basic auth.Nz%BasicAuth() tuple is required instead)rº   ra   r‹   r2   Ú
contextlibÚsuppressÚLookupErrorr1   r�   r   r.   rŸ   Úencoderd   r   ÚAUTHORIZATION)rw   rº   rÅ   Ú	netrc_objs       rP   râ   zClientRequest.update_auth0  sš   € àˆ<Ø—9‘9ˆDØˆ<™I¨$¯(©(¯-©-Ð*CÜ&Ó(ˆIÜ×$Ñ$¤[Õ1Ü+¨I°t·x±x·}±}ÓE�÷ 2àˆ<Øä˜$¤× 1Ñ 1Ô2ÜÐCÓDÐDà+/¯;©;«=ˆ�‰”T×'Ñ'Ò(÷ 2Ð1ús   Á!C	Ã	Cc                 óT  — |€y t        |t        «      r |«       }	 t        j                  j	                  |d ¬«      }|| _        | j                  sXt        j                  | j                  vr<|j                  x}�'t        |«      | j                  t        j                  <   nd| _        |j                  sJ ‚| j                  }| j                  }|j                  j                  «       D ]  \  }}||v s|�||v rŒ|||<   Œ y # t        j
                  $ r  t        |«      «       }Y Œéw xY w)N)ÚdispositionT)r�   r+   r!   ÚPAYLOAD_REGISTRYrs   rC  r´   r½   r   r>  rd   Úsizer]   rµ   r  )rw   r´   rJ  rd   Úskip_headersr  r  s          rP   rä   z#ClientRequest.update_body_from_data@  s  € Øˆ<Øô �dœHÔ%Ù“6ˆDð	$Ü×+Ñ+×/Ñ/°À$Ð/ÓGˆDð ˆŒ	ð �|Š|¤× 3Ñ 3¸4¿<¹<Ñ GØŸ	™	Ð!�Ð.Ü47¸³I�—‘œT×0Ñ0Ò1à#�”ð �|Š|Ðˆ|Ø—,‘,ˆØ×.Ñ.ˆØŸ,™,×,Ñ,Ö.‰JˆC�Ø�g‰~ ,Ð":¸sÀlÑ?RØØ ˆG�CŠLñ /øô! ×"Ñ"ò 	$Ø!”8˜D“>Ó#ŠDð	$ús   œ!D Ä#D'Ä&D'Úexpectc                 ó   — |rd| j                   t        j                  <   nLt        j                  | j                   v r0| j                   t        j                     j                  «       dk(  rd}|r | j                  j                  «       | _        y y )Nz100-continueT)rd   r   ÚEXPECTr=  r¿   Úcreate_futureÚ	_continue)rw   rL  s     rP   rç   z$ClientRequest.update_expect_continue_  sf   € ÙØ(6ˆD�L‰LœŸ™Ò%ä�K‰K˜4Ÿ<™<Ñ'Ø—‘œTŸ[™[Ñ)×/Ñ/Ó1°^ÒCàˆFáØ!ŸY™Y×4Ñ4Ó6ˆD�Nð rO   c                 óä   — || _         |€d | _        d | _        y |r%t        |t        j
                  «      st        d«      ‚|| _        |�!t        |t        t        f«      st        |«      }|| _        y )Nz,proxy_auth must be None or BasicAuth() tuple)
r§   r¨   rÃ   r�   r   r.   rt   r   r   r   )rw   r§   r¨   rÃ   s       rP   rã   zClientRequest.update_proxyk  sr   € ð ˆŒ
Øˆ=Ø"ˆDŒOØ!%ˆDÔØáœj¨´W×5FÑ5FÔGÜÐKÓLÐLØ$ˆŒàÐ$¬ZØœI¤~Ð6ô.
ô (¨Ó6ˆMØ*ˆÕrO   ÚconnrJ   c              ƒ   óÎ  K  — | j                   �,|j                  «       ƒ d{  –—†  | j                   ƒ d{  –—†  |j                  }|€J ‚	 t        | j                  t
        j                  «      r$| j                  j                  |«      ƒ d{  –—†  n\t        | j                  t        t        f«      r| j                  f| _        | j                  D ]  }|j                  |«      ƒ d{  –—†  Œ |j                  «       ƒ d{  –—†  |j                  «        y7 Œö7 Œä7 ŒŽ7 Œ57 Œ# t        $ ri}|}|j                  duxs t        |t        j                  «       }|r#t!        |j                  d| j"                  ›�«      }t%        |||«       Y d}~yd}~wt        j&                  $ r |j)                  «        ‚ t*        $ r#}t%        |t-        d|›�«      |«       Y d}~yd}~ww xY w­w)z-Support coroutines that yields bytes objects.NzCan not write request body for z4Failed to send bytes into the underlying connection )rP  ÚdrainÚprotocolr�   r´   r!   ÚPayloadÚwriter�   Ú	bytearrayÚ	write_eofÚstart_timeoutÚOSErrorÚerrnor‘   ÚTimeoutErrorr$   ra   r5   ÚCancelledErrorÚcloseÚ	Exceptionr#   )rw   rõ   rR  rU  ÚchunkÚunderlying_excÚreraised_excÚexc_is_not_timeouts           rP   Úwrite_byteszClientRequest.write_bytes�  s³  è ø€ ð
 �>‰>Ð%Ø—,‘,“.× Ð Ø—.‘.× Ð à—=‘=ˆØÐ#Ð#Ð#ð$	%Ü˜$Ÿ)™)¤W§_¡_Ô5Ø—i‘i—o‘o fÓ-×-Ñ-ä˜dŸi™i¬%´Ð);Ô<Ø!%§¡ �D”Ià!ŸYœY�EØ Ÿ,™, uÓ-×-Ñ-ð 'ð8 ×"Ñ"Ó$×$Ð$Ø×"Ñ"Õ$ðS !øØ øð .øð .øð6 %ùô5 ò 	BØ)ˆLà!/×!5Ñ!5¸TÐ!Aò "ÌØ¤× 4Ñ 4óJð FÐñ "Ü,Ø"×(Ñ(Ø5°d·h±h°]ÐCó �ô
 ˜( L°.×AÑAûÜ×%Ñ%ò 	à�J‰JŒLØÜò 	ÜØÜ%ØJÈ4È)ÐTóð ÷ñ ûð	üs”   ‚ G%¢D£G%¶D·G%ÁAD# ÂDÂAD# Ã)DÃ*D# Ã0G%ÄD!ÄG%ÄG%ÄD# ÄD# Ä!G%Ä#	G"Ä,AFÆG%Æ/G"Æ?GÇG%ÇG"Ç"G%c              ƒ   óT  K  — | j                   t        j                  k(  r6| j                  j                  }|€J ‚|› d| j                  j
                  › �}nH| j                  r&| j                  «       st        | j                  «      }n| j                  j                  }|j                  }|€J ‚t        || j                  | j                  r5t        j                  | j                   | j                   | j                  «      nd | j                  r5t        j                  | j"                  | j                   | j                  «      nd ¬«      }| j$                  r|j'                  | j$                  «       | j(                  �|j+                  «        | j                   | j,                  v ra| j.                  �t        j0                  | j.                  vr9t        j0                  | j2                  vrd| j2                  t        j0                  <   | j4                  }t        j6                  | j2                  vrc|j8                  j:                  r'|t<        k(  rDd| j2                  t        j6                  <   n&|t>        k(  rd| j2                  t        j6                  <   | j                   › d|› d|j@                  › d|jB                  › �}|jE                  || j2                  «      ƒ d {  –—†  | jF                  s| jH                  €|jJ                  r~| jM                  ||«      }tN        jP                  d	k\  r#tS        jT                  || j                  d
¬«      }	n| j                  jW                  |«      }	|	jY                  «       rd }	n*|	| _-        n"|j]                  «        |j_                  «        d }	| j`                  }
|
€J ‚ |
| j                   | jb                  |	| jH                  | jd                  | jf                  | j                  | j                  | jh                  ¬«	      | _5        | jj                  S 7 �ŒK­w)NÚ:)Úon_chunk_sentÚon_headers_sentzapplication/octet-streamr_  z
keep-aliveÚ z HTTP/r  )r—   é   T)r¿   Úeager_start)rõ   Úcontinue100rÁ   r  rÄ   r¿   rÂ   )6rb   r   ÚMETH_CONNECTra   Úhost_subcomponentrŒ   r§   r¦   r]   Úraw_path_qsrU  r;   r¿   rè   Ú	functoolsÚpartialÚ_on_chunk_request_sentÚ_on_headers_request_sentr¼   Úenable_compressionr½   Úenable_chunkingÚPOST_METHODSrµ   ÚCONTENT_TYPErd   r»   Ú
CONNECTIONÚ
_connectorÚforce_closer:   r9   ÚmajorÚminorÚwrite_headersr´   rP  Úwriting_pausedre  rÙ   Úversion_infor‘   ÚTaskÚcreate_taskÚdoneró   rZ  Úset_eofrÀ   rÏ   rÔ   r  rÍ   Úresponse)rw   rR  Úconnect_hostÚpathrU  rõ   r  Ústatus_lineÚcoroÚtaskrÀ   s              rP   ÚsendzClientRequest.send²  s0  è ø€ ð
 �;‰;œ$×+Ñ+Ò+ØŸ8™8×5Ñ5ˆLØÐ+Ð+Ð+Ø"�^ 1 T§X¡X§]¡] OÐ4‰DØ�ZŠZ §¡¤Ü�t—x‘x“=‰Dà—8‘8×'Ñ'ˆDà—=‘=ˆØÐ#Ð#Ð#ÜØØ�I‰Ið —<’<ô ×!Ñ! $×"=Ñ"=¸t¿{¹{ÈDÏHÉHÔUàð —<’<ô ×!Ñ! $×"?Ñ"?ÀÇÁÈdÏhÉhÔWàô
ˆð �=Š=Ø×%Ñ% d§m¡mÔ4à�<‰<Ð#Ø×"Ñ"Ô$ð �K‰K˜4×,Ñ,Ñ,à×'Ñ'Ð/Ü×$Ñ$¨D×,CÑ,CÑCä×!Ñ!¨¯©Ñ5à.HˆD�L‰Lœ×*Ñ*Ñ+à�L‰LˆÜ�?‰? $§,¡,Ñ.Ø�‰×*Ò*ØœÒ%Ø4;�D—L‘L¤§¡Ò1Ø”mÒ#Ø0<�—‘œTŸ_™_Ñ-ð Ÿ™˜ Q t f¨F°1·7±7°)¸1¸Q¿W¹W¸IÐFˆØ×"Ñ" ;°·±Ó=×=Ð=à�9Š9˜Ÿ™Ð2°h×6MÒ6MØ×#Ñ# F¨DÓ1ˆDÜ×Ñ 7Ò*ô —|‘| D¨t¯y©yÀdÔK‘à—y‘y×,Ñ,¨TÓ2�Ø�y‰yŒ{Ø‘à#�•ð ×"Ñ"Ô$Ø�N‰NÔØˆDØ×,Ñ,ˆØÐ)Ð)Ð)Ù&Ø�K‰KØ×ÑØØŸ™Ø—+‘+Ø×*Ñ*Ø—<‘<Ø—‘Ø—M‘Mô

ˆŒð �}‰}ÐðI 	>ûs   ‚KP(ËP%ËEP(c              ƒ   ó  K  — | j                   �	 | j                   ƒ d {  –—†  y y 7 Œ# t        j                  $ rA t        j                  dk\  r+t        j
                  «       x}r|j                  «       r‚ Y y Y y Y y w xY w­w©N)r—   é   )rì   r‘   r^  rÙ   r€  Úcurrent_taskÚ
cancelling©rw   rŠ  s     rP   r_  zClientRequest.close  s|   è ø€ Ø�=‰=Ð$ðØ—m‘m×#Ñ#ð %à#ùÜ×)Ñ)ò ä×$Ñ$¨Ò/Ü!(×!5Ñ!5Ó!7Ð7˜Ð7ØŸ™Ô)àñ *ñ 8ñ 0ðüs2   ‚A?�( Ÿ& ( ¤A?¦( ¨AA<Á5A?Á;A<Á<A?c                 óÞ   — | j                   �a| j                  j                  «       s| j                   j                  «        | j                   j	                  | j
                  «       d | _         y y r|   )rì   r¿   Ú	is_closedÚcancelr÷   rø   r}   s    rP   Ú	terminatezClientRequest.terminate  sP   € Ø�=‰=Ð$Ø—9‘9×&Ñ&Ô(Ø—‘×$Ñ$Ô&Ø�M‰M×.Ñ.¨t×/BÑ/BÔCØ ˆD�Mð	 %rO   ra  c              ƒ   óh   K  — | j                   D ]  }|j                  |||«      ƒ d {  –—†  Œ y 7 Œ­wr|   )rè   Úsend_request_chunk_sent)rw   rb   ra   ra  Útraces        rP   rs  z$ClientRequest._on_chunk_request_sent%  s/   è ø€ Ø—\”\ˆEØ×/Ñ/°¸¸UÓC×CÑCñ "ØCúó   ‚&2¨0©2zCIMultiDict[str]c              ƒ   óh   K  — | j                   D ]  }|j                  |||«      ƒ d {  –—†  Œ y 7 Œ­wr|   )rè   Úsend_request_headers)rw   rb   ra   rd   r˜  s        rP   rt  z&ClientRequest._on_headers_request_sent)  s1   è ø€ ð —\”\ˆEØ×,Ñ,¨V°S¸'ÓB×BÑBñ "ØBúr™  r|   )rõ   rñ   rL   N©rL   N)F)rR  rJ   rL   rF   )TrZ   r[   r\   r   ÚMETH_GETÚ	METH_HEADÚMETH_OPTIONSÚ
METH_TRACErå   Ú
METH_PATCHÚ	METH_POSTÚMETH_PUTrw  ÚunionÚMETH_DELETEÚALL_METHODSÚACCEPTÚACCEPT_ENCODINGrQ   r'  r´   r   r^   rº   r…  rì   rP  rµ   r   r   r:   r]   r   rB   rA   r   r@   r.   r8   r   r«   r‘   ÚAbstractEventLoopr   r-   rD   rH   r   rz   Úobjectrø   r�   r   r·   ró   Úsetterr¦   r“   r¥   r  r‹   rª   rŒ   rG   r  rÝ   rÜ   rÞ   rß   rà   rá   ræ   râ   rä   rç   rã   r"   re  r‹  r_  r•  r�   rs  rt  rN   rO   rP   rE   rE   û   s$  … à�‰Ø�‰Ø×ÑØ�‰ð	€Kð —O‘O T§^¡^°T·]±]ÐC€LØ×#Ñ# LÓ1×7Ñ7¸×9IÑ9IÐ8JÓK€Kð 	�‰�UØ×ÑÑ:Ó<ð€Oð €Dˆ#ƒOØ€DØ€Hà€HØ€Ià8<Ð˜Ð!4Ñ5Ó<ð Ø*.Ø59ØØ*.Ø$(Ø$(×$6Ñ$6Ø+/Ø"&ØØ48Ø;?Ø#Ø*.Ø,0Ø-1Ø48Ø04Ø*.ØØ)-ò3M8àðM8ð ðM8ð
 ðM8ð ˜,Ñ'ðM8ð $ H¨S¡MÑ2ðM8ð ðM8ð ˜,Ñ'ðM8ð �yÑ!ðM8ð ×!Ñ!ðM8ð ˜˜T 4˜Ñ(ðM8ð ˜$‘ðM8ð ðM8ð �w×0Ñ0Ñ1ðM8ð  ! Ð&6Ñ!7Ñ8ð!M8ð" ˜‰}ð#M8ð$ ˜YÑ'ð%M8ð& Ð(Ñ)ð'M8ð( ˜/Ñ*ð)M8ð* �:˜t [Ð0Ñ1ð+M8ð,   Ñ-ð-M8ð. ˜˜g™Ñ'ð/M8ð0 ð1M8ð2 " #™ó3M8ñ^ ð °$ó ð ð8 ;¨tÑ#4ò 8ó ð8ð ð˜Ð"6Ñ7ò ó ðð ‡^�^ò6ó ð6ð/˜ó /ð ð�U˜<¨¨{Ð:Ñ;ò ó ðð ð
 ò 
ó ð
ð& ð�cò ó ðð
 ð�h˜s‘mò ó ðð ð
˜kò 
ó ð
ðN˜sð N tó Nð e¨D×,<Ñ,<¸cÐ,AÑ&Bð Àtó ð- h¨|Ñ&<ð -Àó -ð2<°X¸hÀs¹mÑ5Lð <ÐQUó <ð&I h¨|Ñ&<ð IÀó Ið2 ¨Cð  °Dó  ó$Hñ,9 ¨Ñ 3ð 9Àð 9ÐQUó 9ð !¨#ð !°$ó !ñ>
7¨Tð 
7¸dó 
7ð+à˜‰}ð+ð ˜YÑ'ð+ð   Ñ-ð	+ð
 
ó+ð,/%Ø*ð/%Ø2>ð/%à	ó/%ób^ó@
ó!ðD°3ð D¸Sð DÈð DÐSWó DðCØðCØ #ðCØ.@ðCà	ôCrO   rE   úConnection closedc                   ó~  — e Zd ZU dZee   ed<   dZeed<   dZ	ee
   ed<   dZeed<   dZee   ed<   dZee
   ed<   dZed	   ed
<   dZeed<   dZed   ed<   dZee   ed<   dZed   ed<   dZeej6                     ed<   dZed   ed<   dZdZdZd„ Z e!d ege
f   ed<   dZ"ed   ed<   de
de#ddded   de$d e%d!e&d"   d#e'jP                  d$dd%dfd&„Z)dWd'e*d%dfd(„Z+e,d%ed   fd)„«       Z-e-j\                  ded   d%dfd*„«       Z-e,d%efd+„«       Z/e/j\                  d,ed%dfd-„«       Z/e0d%e#fd.„«       Z1e0d%e#fd/„«       Z2e0d%e#fd0„«       Z3e0d%e
fd1„«       Z4e0dXd2„«       Z5e0d%efd3„«       Z6e0d%e%fd4„«       Z7e0d%ee8   fd5„«       Z9e:fd6e;d%dfd7„Z<d%e
fd8„Z=e,d%ed   fd9„«       Z>e0d%ed	   fd:„«       Z?e0dYd;„«       Z@dZd<„ZAd[d=„ZBe,d%eCfd>„«       ZDd[d?„ZEd%e;fd@„ZFe,d%eCfdA„«       ZGd[dB„ZHd[dC„ZId[dD„ZJd[dE„ZKd[dF„ZLd[dG„ZMd%efdH„ZNd%e
fdI„ZOd\dJee
   dKe
d%e
fdL„ZPdeQdMdNœdJee
   dOeRdPee
   d%e;fdQ„ZSd]dR„ZTdSeeUeV      dTeeV   dUeeW   d%dfdV„ZXy)^rF   Nr»   ÚstatusÚreasonÚcontentÚ_bodyÚ_headersrN   )rF   .Ú_historyÚ_raw_headersrJ   Ú_connectionÚ_cookieszasyncio.Future[bool]rP  rÛ   rI   rÍ   TFc                   ó   — y)Núutf-8rN   )r�   s    rP   Ú<lambda>zClientResponse.<lambda>N  s   € ÈGrO   Ú_resolve_charsetrñ   Ú_ClientResponse__writerrb   ra   rõ   zOptional[asyncio.Task[None]]rm  rÁ   r  rÄ   rK   r¿   rÂ   rL   c                óÀ  — t        |«      t        u sJ ‚|| _        || _        |j                  r|j                  d «      n|| _        |�|| _        |�|| _        || _	        |�|n	t        «       | _        i | _        || _        || _        |	�|	| _        |	j                   | _        |j#                  «       r.t%        j&                  t)        j*                  d«      «      | _        y y )Nr   )rW   r   rb   Ú	_real_urlrÐ   rÑ   Ú_urlró   rP  Ú_request_infor0   rÔ   Ú_cacherè   Ú_looprÍ   rº  rÖ   r×   rØ   rÙ   rÚ   rÛ   )
rw   rb   ra   rõ   rm  rÁ   r  rÄ   r¿   rÂ   s
             rP   rz   zClientResponse.__init__R  sÏ   € ô �C‹yœCÑÐÐàˆŒàˆŒØ/2×/?Ò/?�C×%Ñ% dÔ+ÀSˆŒ	ØÐØ!ˆDŒLØÐ"Ø(ˆDŒNØ)ˆÔØ$Ð0‘e´i³kˆŒØ&(ˆŒØˆŒØˆŒ
ð Ðà#ˆDŒMØ$+×$<Ñ$<ˆDÔ!Ø�>‰>ÔÜ%.×%<Ñ%<¼S¿]¹]È1Ó=MÓ%NˆDÕ"ð rO   r�   c                 ó   — d | _         y r|   ©r»  rí   s     rP   rî   zClientResponse.__reset_writery  rï   rO   c                 ó   — | j                   S )z�The writer task for streaming data.

        _writer is only provided for backwards compatibility
        for subclasses that may need to access it.
        rÃ  r}   s    rP   ró   zClientResponse._writer|  s   € ð �}‰}ÐrO   c                 óà   — | j                   �%| j                   j                  | j                  «       || _         |€y|j                  «       rd| _         y|j	                  | j                  «       y)z'Set the writer task for streaming data.N)r»  r÷   Ú_ClientResponse__reset_writerrƒ  rù   rú   s     rP   ró   zClientResponse._writer…  sY   € ð �=‰=Ð$Ø�M‰M×.Ñ.¨t×/BÑ/BÔCØˆŒØˆ>ØØ�;‰;Œ=à ˆD�Mà×$Ñ$ T×%8Ñ%8Õ9rO   c                 óP   — | j                   €t        «       | _         | j                   S r|   )r¶  r   r}   s    rP   r¹   zClientResponse.cookies“  s   € à�=‰=Ð Ü(›NˆDŒMØ�}‰}ÐrO   r¹   c                 ó   — || _         y r|   )r¶  )rw   r¹   s     rP   r¹   zClientResponse.cookies™  s	   € àˆ�rO   c                 ó   — | j                   S r|   )r¾  r}   s    rP   ra   zClientResponse.url�  rÿ   rO   c                 óR   — t        j                  dt        d¬«       | j                  S )NzDeprecated, use .url #1654é   r˜   )rš   r›   rœ   r¾  r}   s    rP   Úurl_objzClientResponse.url_obj¡  s   € ä�‰Ð2Ô4FÐSTÕUØ�y‰yÐrO   c                 ó   — | j                   S r|   )r½  r}   s    rP   re   zClientResponse.real_url¦  s   € à�~‰~ÐrO   c                 ó^   — | j                   j                  €J ‚| j                   j                  S r|   )r¾  r‹   r}   s    rP   r‹   zClientResponse.hostª  s$   € à�y‰y�~‰~Ð)Ð)Ð)Ø�y‰y�~‰~ÐrO   c                 ó   — | j                   S r|   )r²  r}   s    rP   rd   zClientResponse.headers¯  rô   rO   c                 ó   — | j                   S r|   )r´  r}   s    rP   Úraw_headerszClientResponse.raw_headers³  r~   rO   c                 ó   — | j                   S r|   )r¿  r}   s    rP   r  zClientResponse.request_info·  s   € à×!Ñ!Ð!rO   c                 óä   — | j                   j                  t        j                  «      }|€y t	        j
                  |«      \  }}t        |«      }t	        j                  |«      }t        |||«      S r|   )	r²  rs   r   ÚCONTENT_DISPOSITIONr    Úparse_content_dispositionr	   Úcontent_disposition_filenamerV   )rw   ÚrawÚdisposition_typeÚ
params_dctr¶   rY   s         rP   Úcontent_dispositionz"ClientResponse.content_disposition»  sd   € à�m‰m×Ñ¤× 8Ñ 8Ó9ˆØˆ;ØÜ'0×'JÑ'JÈ3Ó'OÑ$Ð˜*Ü! *Ó-ˆÜ×9Ñ9¸&ÓAˆÜ!Ð"2°F¸HÓEÐErO   Ú	_warningsc                 óv  — | j                   ry | j                  � | j                  j                  «        | j                  «        | j                  j                  «       r[d| i} |j                  d| ›�t        fi |¤Ž | ddœ}| j                  r| j                  |d<   | j                  j                  |«       y y y )NÚsourcezUnclosed response zUnclosed response)Úclient_responseÚmessageÚsource_traceback)
Ú_closedrµ  ÚreleaseÚ_cleanup_writerrÁ  rÖ   r›   ÚResourceWarningrÛ   Úcall_exception_handler)rw   rÛ  ÚkwargsÚcontexts       rP   Ú__del__zClientResponse.__del__Å  s¯   € Ø�<Š<Øà×ÑÐ'Ø×Ñ×$Ñ$Ô&Ø× Ñ Ô"à�z‰z×#Ñ#Ô%Ø" DÐ)�Ø�	—‘Ð!3°D°8Ð<¼oÑXÐQWÒXØ.2Ð?RÑS�Ø×)Ò)Ø26×2HÑ2H�GÐ.Ñ/Ø—
‘
×1Ñ1°'Õ:ð &ð	 (rO   c                 óf  — t        j                  «       }t        | j                  «      }| j                  r,| j                  j                  dd«      j                  d«      }nd}t        dj                  || j                  |«      |¬«       t        | j                  |¬«       |j                  «       S )NÚasciiÚbackslashreplaceÚNonez<ClientResponse({}) [{} {}]>)Úfile)ÚioÚStringIOr]   ra   r¯  rD  ÚdecodeÚprintr    r®  rd   Úgetvalue)rw   ÚoutÚascii_encodable_urlÚascii_encodable_reasons       rP   Ú__repr__zClientResponse.__repr__Õ  s“   € Ü�k‰k‹mˆÜ! $§(¡(›mÐØ�;Š;Ø%)§[¡[×%7Ñ%7ØÐ+ó&ç‰f�W‹oñ #ð &,Ð"ÜØ*×1Ñ1Ø# T§[¡[Ð2Hóð õ		
ô 	ˆd�l‰l Õ%Ø�|‰|‹~ÐrO   c                 ó   — | j                   S r|   )rµ  r}   s    rP   Ú
connectionzClientResponse.connectionç  s   € à×ÑÐrO   c                 ó   — | j                   S )z2A sequence of of responses, if redirects occurred.)r³  r}   s    rP   ÚhistoryzClientResponse.historyë  s   € ð �}‰}ÐrO   c           	      óú  — dj                  | j                  j                  dg «      «      }|st        t	        «       «      S t	        «       }t        j                  d|«      D �]  }t        j                  d|«      }|€Œ|j                  «       \  }}|j                  d«      dd  }t	        «       }|D ]Q  }	t        j                  d|	t
        j                  «      }|€Œ+|j                  «       \  }
}}}|j                  |
|«       ŒS |j                  d|«      }
|j                  d	| j                  j                  t        |«      «      «       |j                  t        |
«      t        |«      «       �Œ t        |«      S )
Nz, Úlinkz	,(?=\s*<)z\s*<(.*)>(.*)r,  r   z%^\s*(\S*)\s*=\s*(['\"]?)(.*?)(\2)\s*$Úrelra   )Újoinrd   Úgetallr   r   Úrer  r±   ÚgroupsÚMr  rs   ra   r   r]   )rw   Ú	links_strÚlinksr*  r±   ra   Ú
params_strr¶   rü  Úparamr  r�   r  s                rP   r  zClientResponse.linksð  s6  € à—I‘I˜dŸl™l×1Ñ1°&¸"Ó=Ó>ˆ	áÜ!¤)£+Ó.Ð.ä<E»Kˆä—8‘8˜L¨)×4ˆCÜ—H‘HÐ-¨sÓ3ˆEØˆ}àØ#Ÿl™l›n‰OˆC�Ø×%Ñ% cÓ*¨1¨2Ð.ˆFä/8«{ˆDã�ÜŸ™Ð!IÈ5ÔRT×RVÑRVÓW�Ø�=àØ#(§<¡<£>Ñ ��Q˜˜qà—‘˜˜eÕ$ð  ð —(‘(˜5 #Ó&ˆCà�H‰H�U˜DŸH™HŸM™M¬#¨c«(Ó3Ô4à�I‰I”c˜#“h¤¨tÓ 4Ö5ð/ 5ô2 ˜eÓ$Ð$rO   c           	   ƒ   óJ  K  — d| _         |j                  | _        || _        | j                  5  	 	 | j                  }|j                  «       ƒ d{  –—† \  }}|j                  dk  s|j                  dkD  s|j                  dk(  rn*| j                  �t        | j                  d«       d| _        Œ€	 ddd«        j                   | j"                  «       j$                  | _        |j                  | _        |j(                  | _        |j                  | _        |j,                  | _        || _        | j                  j3                  t4        j6                  d«      x}r*t9        «       }|D ]  }	 |j;                  |«       Œ || _!        | S 7 �Œ9# t        j                  $ rH}t        | j                  | j                  |j                  |j                  |j                  ¬«      |‚d}~ww xY w# 1 sw Y   �Œ;xY w# t<        $ r }t?        j@                  d	|«       Y d}~Œ²d}~ww xY w­w)
zStart response processing.FTN©r®  rß  rd   éd   éÇ   ée   rN   z!Can not load response cookies: %s)"rá  rU  Ú	_protocolrµ  rÔ   Úreadr   ÚHttpProcessingErrorr%   r  rú  Úcoderß  rd   rP  r6   Úon_eofÚ_response_eofr»   r®  r¯  r²  rÑ  r´  r°  rÿ  r   Ú
SET_COOKIEr   r0  r   r<   Úwarningr¶  )	rw   rø  rU  rß  r!   ÚexcÚcookie_hdrsr¹   r"  s	            rP   ÚstartzClientResponse.start  sÔ  è ø€ àˆŒØ#×,Ñ,ˆŒØ%ˆÔà�[‹[Øð
Ø#Ÿ~™~�HØ-5¯]©]«_×'<Ñ$�G˜Wð —<‘< #Ò%¨¯©¸Ò);¸w¿|¹|ÈsÒ?RØà—>‘>Ð-Ü˜tŸ~™~¨tÔ4Ø%)�D”Nð' ð ÷! ð. 	ˆ�‰�t×)Ñ)Ô*ð —‘ˆŒØ—l‘lˆŒØ—n‘nˆŒð  Ÿ™ˆŒØ#×/Ñ/ˆÔð ˆŒð Ÿ,™,×-Ñ-¬d¯o©o¸rÓBÐBˆ;ÐBÜ"“nˆGÛ"�ðTØ—L‘L Õ%ð #ð
 $ˆDŒMØˆðS (=úÜ×/Ñ/ò Ü-Ø×)Ñ)ØŸ™Ø"Ÿx™xØ #§¡Ø #§¡ôð ðûðú÷ ‰[ûôV #ò TÜ!×)Ñ)Ð*MÈs×SÑSûðTüs~   ‚,H#®G*±FÁF	ÁFÁAG*Â1B;H#Å-G7Å>H#Æ	FÆG'ÆAG"Ç"G'Ç'G*Ç*G4Ç/H#Ç7	H È HÈH#ÈH È H#c                 óÒ   — | j                   ry | j                  xr | j                  j                  }|�|j                  ry d| _         | j	                  «        | j                  «        y ©NT)rá  rµ  rU  Úupgradedrã  Ú_release_connection)rw   rU  s     rP   r  zClientResponse._response_eofJ  sZ   € Ø�<Š<Øð ×#Ñ#ÒA¨×(8Ñ(8×(AÑ(AˆØÐ H×$5Ò$5ØàˆŒØ×ÑÔØ× Ñ Õ"rO   c                 ó   — | j                   S r|   )rá  r}   s    rP   ÚclosedzClientResponse.closedW  s   € à�|‰|ÐrO   c                 ó  — | j                   s| j                  «        d| _        | j                  �| j                  j	                  «       ry | j                  «        | j                  �"| j                  j                  «        d | _        y y r  )Ú	_releasedÚ_notify_contentrá  rÁ  r“  rã  rµ  r_  r}   s    rP   r_  zClientResponse.close[  so   € Ø�~Š~Ø× Ñ Ô"àˆŒØ�:‰:Ð §¡×!5Ñ!5Ô!7Øà×ÑÔØ×ÑÐ'Ø×Ñ×"Ñ"Ô$Ø#ˆDÕð (rO   c                 óœ   — | j                   s| j                  «        d| _        | j                  «        | j	                  «        t        «       S r  )r  r  rá  rã  r  r3   r}   s    rP   râ  zClientResponse.releaseh  s;   € Ø�~Š~Ø× Ñ Ô"àˆŒà×ÑÔØ× Ñ Ô"Ü‹vˆrO   c                 ó    — d| j                   kD  S )zºReturns ``True`` if ``status`` is less than ``400``, ``False`` if not.

        This is **not** a check for ``200 OK`` but a check that the response
        status is under 400.
        i�  )r®  r}   s    rP   ÚokzClientResponse.okr  s   € ð �T—[‘[Ñ Ð rO   c                 óô   — | j                   sl| j                  €J ‚| j                  s| j                  «        t	        | j
                  | j                  | j                  | j                  | j                  ¬«      ‚y )Nr  )	r"  r¯  Ú_in_contextrâ  r%   r  rú  r®  rd   r}   s    rP   Úraise_for_statuszClientResponse.raise_for_status{  sd   € Ø�wŠwà—;‘;Ð*Ð*Ð*ð ×#Ò#Ø—‘”ä%Ø×!Ñ!Ø—‘Ø—{‘{ØŸ™ØŸ™ôð ð rO   c                 ó¸   ‡ — ‰ j                   �M‰ j                  €"‰ j                   j                  «        d ‰ _         y ‰ j                  j                  ˆ fd„«       y y )Nc                 ó$   •— ‰j                  «       S r|   )r  )Úfrw   s    €rP   r¹  z4ClientResponse._release_connection.<locals>.<lambda>“  s   ø€ ¸$×:RÑ:RÔ:TrO   )rµ  r»  râ  rù   r}   s   `rP   r  z"ClientResponse._release_connection�  sK   ø€ Ø×ÑÐ'Ø�}‰}Ð$Ø× Ñ ×(Ñ(Ô*Ø#'�Õ à—‘×/Ñ/Ó0TÕUð (rO   c              ƒ   ó  K  — | j                   �	 | j                   ƒ d {  –—†  | j                  «        y 7 Œ# t        j                  $ r= t        j                  dk\  r't        j
                  «       x}r|j                  «       r‚ Y Œbw xY w­wr�  )r»  r‘   r^  rÙ   r€  r�  r�  r  r‘  s     rP   Ú_wait_releasedzClientResponse._wait_released•  sy   è ø€ Ø�=‰=Ð$ðØ—m‘m×#Ð#ð 	× Ñ Õ"ð $ùÜ×)Ñ)ò ä×$Ñ$¨Ò/Ü!(×!5Ñ!5Ó!7Ð7˜Ð7ØŸ™Ô)àùðüó2   ‚B
�7 Ÿ5 7 ¤B
µ7 ·ABÂB
ÂBÂB
c                 ó^   — | j                   �| j                   j                  «        d | _        y r|   )r»  r”  rÍ   r}   s    rP   rã  zClientResponse._cleanup_writer¢  s#   € Ø�=‰=Ð$Ø�M‰M× Ñ Ô"Øˆ�rO   c                 ón   — | j                   }|r |j                  «       €t        |t        «       d| _        y r  )r°  Ú	exceptionr5   Ú_CONNECTION_CLOSED_EXCEPTIONr  )rw   r°  s     rP   r  zClientResponse._notify_content§  s.   € Ø—,‘,ˆÙ�w×(Ñ(Ó*Ð2Ü˜'Ô#?Ô@Øˆ�rO   c              ƒ   ó  K  — | j                   �	 | j                   ƒ d {  –—†  | j                  «        y 7 Œ# t        j                  $ r= t        j                  dk\  r't        j
                  «       x}r|j                  «       r‚ Y Œbw xY w­wr�  )r»  r‘   r^  rÙ   r€  r�  r�  râ  r‘  s     rP   Úwait_for_closezClientResponse.wait_for_close­  sv   è ø€ Ø�=‰=Ð$ðØ—m‘m×#Ð#ð 	�‰�ð $ùÜ×)Ñ)ò ä×$Ñ$¨Ò/Ü!(×!5Ñ!5Ó!7Ð7˜Ð7ØŸ™Ô)àùðür+  c              ƒ   ó*  K  — | j                   €s	 | j                  j                  «       ƒ d{  –—† | _         | j                  D ];  }|j	                  | j
                  | j                  | j                   «      ƒ d{  –—†  Œ= n| j                  rt        d«      ‚| j                  xr | j                  j                  }|�|j                  s| j                  «       ƒ d{  –—†  | j                   S 7 ŒÁ7 Œv# t        $ r | j                  «        ‚ w xY w7 Œ2­w)zRead response payload.Nr¬  )r±  r°  r  rè   Úsend_response_chunk_receivedrb   ra   ÚBaseExceptionr_  r  r#   rµ  rU  r  r*  )rw   r˜  rU  s      rP   r  zClientResponse.readº  sí   è ø€ à�:‰:ÐðØ#'§<¡<×#4Ñ#4Ó#6×6�”
Ø!Ÿ\œ\�EØ×<Ñ<ØŸ™ T§X¡X¨t¯z©zó÷ ñ ñ *ð �^Š^Ü'Ð(;Ó<Ð<à×#Ñ#ÒA¨×(8Ñ(8×(AÑ(AˆØÐ 8×#4Ò#4Ø×%Ñ%Ó'×'Ð'Ø�z‰zÐð 7øðùô !ò Ø—
‘
”Øðúð (úsL   ‚D�C3 ­C/®AC3 Á:C1Á;C3 ÂADÃDÃDÃ/C3 Ã1C3 Ã3DÄDc                 ó>  — | j                   j                  t        j                  d«      j	                  «       }t        j                  |«      }|j                  j                  d«      }|rGt        j                  t        t        «      5  t        j                  |«      j                  cd d d «       S |j                  dk(  r|j                   dk(  s|j                   dk(  ry| j"                  €t%        d«      ‚| j'                  | | j"                  «      S # 1 sw Y   ŒjxY w)Nr  ÚcharsetÚapplicationÚjsonÚrdapr¸  z7Cannot compute fallback encoding of a not yet read body)rd   rs   r   rx  r=  r   Úparse_mimetyperX   rA  rB  rC  rt   ÚcodecsÚlookupr6  rW   Úsubtyper±  ÚRuntimeErrorrº  )rw   ÚctypeÚmimetypeÚencodings       rP   Úget_encodingzClientResponse.get_encodingÎ  sä   € Ø—‘× Ñ ¤×!2Ñ!2°BÓ7×=Ñ=Ó?ˆÜ×)Ñ)¨%Ó0ˆà×&Ñ&×*Ñ*¨9Ó5ˆÙÜ×$Ñ$¤[´*Õ=Ü—}‘} XÓ.×3Ñ3÷ >Ñ=ð �=‰=˜MÒ)Ø×Ñ Ò&¨(×*:Ñ*:¸fÒ*Dð à�:‰:ÐÜØIóð ð ×$Ñ$ T¨4¯:©:Ó6Ð6÷ >Ð=ús   Â	DÄDrA  Úerrorsc              ƒ   ó´   K  — | j                   €| j                  «       ƒ d{  –—†  |€| j                  «       }| j                   j                  ||¬«      S 7 Œ3­w)z!Read response payload and decode.N)rC  )r±  r  rB  rð  )rw   rA  rC  s      rP   ÚtextzClientResponse.textå  sR   è ø€ à�:‰:ÐØ—)‘)“+×ÐàÐØ×(Ñ(Ó*ˆHà�z‰z× Ñ  °&Ð Ó9Ð9ð ús   ‚ A¢A£4Ar¯   )rA  ÚloadsÚcontent_typerF  rG  c             ƒ   óä  K  — | j                   €| j                  «       ƒ d{  –—†  |r| j                  j                  t        j
                  d«      j                  «       }t        ||«      s;t        | j                  | j                  | j                  d|z  | j                  ¬«      ‚| j                   j                  «       }|sy|€| j                  «       } ||j                  |«      «      S 7 ŒË­w)zRead and decodes JSON response.Nr  z3Attempt to decode JSON with unexpected mimetype: %sr  )r±  r  rd   rs   r   rx  r=  r²   r&   r  rú  r®  r  rB  rð  )rw   rA  rF  rG  r?  Ústrippeds         rP   r8  zClientResponse.jsonï  sÎ   è ø€ ð �:‰:ÐØ—)‘)“+×ÐáØ—L‘L×$Ñ$¤T×%6Ñ%6¸Ó;×AÑAÓCˆEÜ,¨U°LÔAÜ&Ø×%Ñ%Ø—L‘LØŸ;™;àMÐPUÑUà ŸL™Lôð ð —:‘:×#Ñ#Ó%ˆÙØàÐØ×(Ñ(Ó*ˆHá�X—_‘_ XÓ.Ó/Ð/ð- ús   ‚ C0¢C.£CC0c              ƒ   ó   K  — d| _         | S ­wr  )r$  r}   s    rP   Ú
__aenter__zClientResponse.__aenter__  s   è ø€ ØˆÔØˆùs   ‚
Úexc_typeÚexc_valÚexc_tbc              ƒ   ón   K  — d| _         | j                  «        | j                  «       ƒ d {  –—†  y 7 Œ­w)NF)r$  râ  r1  )rw   rL  rM  rN  s       rP   Ú	__aexit__zClientResponse.__aexit__  s-   è ø€ ð !ˆÔð 	�‰ŒØ×!Ñ!Ó#×#Ò#ús   ‚+5­3®5r|   )rL   rc   )rL   z/MultiDictProxy[MultiDictProxy[Union[str, URL]]])rø  rJ   rL   rF   rœ  )NÚstrict)rL   rF   )YrZ   r[   r\   r»   r   r8   r^   r®  rª   r¯  r]   r°  r=   r±  r�   r²  r   r³  r   r´  rC   rµ  r¶  r   rP  rÛ   r×   ÚStackSummaryrÍ   rá  r  r$  rº  r   r»  r   r-   rG   r   r‘   r©  rz   rª  rÆ  r�   ró   r«  r¹   r4   ra   rÌ  re   r‹   rd   rÑ  r  rV   rÚ  rš   r   rè  rö  rø  rú  r  r  r  r«   r  r_  râ  r"  r%  r  r*  rã  r  r1  r  rB  rE  r>   r?   r8  rK  r   r4  r
   rP  rN   rO   rP   rF   rF   3  s¡  … ð &*€GˆX�kÑ"Ó)Ø€FˆCÓØ €FˆH�S‰MÓ à €Gˆ\Ó Ø!€Eˆ8�E‰?Ó!Ø&*€HÐ˜sÑ#Ó*Ø-/€HˆeÐ)Ñ*Ó/Ø#€L�*Ó#à*.€K�˜,Ñ'Ó.Ø'+€Hˆh�|Ñ$Ó+Ø26€IˆxÐ.Ñ/Ó6Ø:>Ð�x 	× 6Ñ 6Ñ7Ó>Ø*.€Hˆh�Ñ'Ó.ð €GØ€IØ€KáASÐ�hÐ 0°%Ð8¸#Ð=Ñ>ÓSà/3€HˆhÐ+Ñ,Ó3ð%Oàð%Oð ð%Oð
 /ð%Oð Ð4Ñ5ð%Oð  ð%Oð "ð%Oð �W‘ð%Oð ×'Ñ'ð%Oð !ð%Oð 
ó%OñN ð °$ó ð ð˜Ð"6Ñ7ò ó ðð ‡^�^ð:˜hÐ';Ñ<ð :Àò :ó ð:ð ð˜ò ó ðð
 ‡^�^ð ˜|ð  °ò  ó ð ð ð�Sò ó ðð ð˜ò ó ðð ð˜#ò ó ðð ð�cò ó ðð òó ðð ð!˜Zò !ó ð!ð ð"˜kò "ó ð"ð ðF XÐ.@Ñ%Aò Fó ðFð (0ñ ; ð ;°Dó ;ð ˜#ó ð$ ð ˜H \Ñ2ò  ó ð ð ð˜Ð4Ñ5ò ó ðð ò!%ó ð!%óF4ól#ð ð˜ò ó ðó$ð˜ó ð ð!�Dò !ó ð!óó$Vó#óó
óð˜Eó ð(7˜có 7ñ.: 8¨C¡=ð :Àð :ÐTWó :ð #'Ø1Ø&8ò0ð ˜3‘-ð0ð ð	0ð
 ˜s‘mð0ð 
ó0óBð$à˜4 Ñ.Ñ/ð$ð ˜-Ñ(ð$ð ˜Ñ'ð	$ð
 
ô$rO   rF   )xr‘   r;  rA  rq  rî  r   rÙ   r×   rš   Úhashlibr   r   r   Úhttp.cookiesr   r   r   Útypesr	   r
   Útypingr   r   r   r   r   r   r   r   r   r   r   r   ÚattrÚ	multidictr   r   r   r   Úyarlr   r  r   r   r   r    r!   Úabcr"   Úclient_exceptionsr#   r$   r%   r&   r'   r(   Úcompression_utilsr*   Úformdatar+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   Úlogr<   Ústreamsr=   Útypedefsr>   r?   r@   rA   rB   rC   r“   rD   ÚImportErrorrª  Ú__all__ÚclientrI   Ú	connectorrJ   ÚtracingrK   ÚcompilerÊ   r°   r]   rQ   ÚsrV   r`   rG   rH   r«   rW   rž   r�   r¡   Ú	frozensetrý   r¥   r²   rE   r/  rF   rN   rO   rP   Ú<module>ri     s@  ðÛ Û Û Û Û 	Û 	Û 
Û Û ß %Ñ %ß :Ñ :ß 1÷÷ ÷ ó ó ß NÓ NÝ ç 5Õ 5Ý %÷÷ õ *Ý ÷÷ ÷ ñ ÷õ õ Ý !÷÷ ðÛÝð L€ñ Ý%Ý%Ýð '˜BŸJ™JÐ'EÓFÐ Ø
ˆ"�*‰*Ð9Ó
:€ðB có Bð €‡��T $¨dÔ3÷ð ó 4ðô�:ô ô
�,ô 
÷$Pñ Pð@ €?ØŸ™¨¨{¹DÀ»JÐGÑà™t D›zÐ*Ðð4Ø	ˆ|˜T ;Ð.Ñ	/ð4à˜‘ð4ð ˜,Ñ'ð4ð ˜%‘ð	4ð
 ˆ<˜˜{Ð*Ñ+ó4ñn Ð)Ó*€ô	&�Jô 	&ð:Øð:Ø7:ð:à	ó:÷rCñ rCñj  5Ð5HÓIÐ ôl$�\õ l$øðK ò Ø
€CØƒJðús   Ã(
G5 Ç5	HÈH