Ë
    CØïiäš  ã                   ó4  — 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 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
l0m1Z1 ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 ddl9m:Z: ddl;m<Z< ddl,m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZE ddl-mFZFmGZGmHZHmIZImJZJ ddlKmLZL ddlMmNZN ddlOmPZPmQZQmRZRmSZSmTZT 	 d dlUZUd dlUmVZV dZYerddlZm[Z[ ddl\m]Z] ddl^m_Z_  ejÀ                  d«      Za ejÀ                  d«      Zbdecfd„Zd e"jÊ                  ddd¬«       G d„ d«      «       Zf e"jÊ                  ddd¬«       G d „ d!«      «       Zg G d"„ d#«      ZheU�eUj¬                  eieh ejd«      fZkn ejd«      Zkd$e d%ed&   ehdf   d'eei   d(ed%   d)eel   de d%ed&   ehdf   f
d*„Zm e"jÊ                  ddd¬+«       G d,„ d-«      «       Znd.ecd/ecdeifd0„Zo G d1„ d2«      Zp G d3„ d4e?«      Zqy# eW$ r dZUeXZVY �Œ(w xY w)5é    N)Úmd5Úsha1Úsha256)ÚCookieErrorÚMorselÚSimpleCookie)ÚMappingProxyTypeÚTracebackType)ÚTYPE_CHECKINGÚAnyÚCallableÚDictÚIterableÚListÚLiteralÚMappingÚOptionalÚTupleÚTypeÚUnionÚcast)ÚCIMultiDictÚCIMultiDictProxyÚ	MultiDictÚMultiDictProxy)ÚURLé   )ÚhdrsÚhelpersÚhttpÚ	multipartÚpayload)ÚAbstractStreamWriter)ÚClientConnectionErrorÚClientOSErrorÚClientResponseErrorÚContentTypeErrorÚ
InvalidURLÚServerFingerprintMismatch©Ú
HAS_BROTLI)ÚFormData)	ÚBaseTimerContextÚ	BasicAuthÚHeadersMixinÚ	TimerNoopÚbasicauth_from_netrcÚnetrc_from_envÚnoopÚreifyÚ
set_result)ÚSERVER_SOFTWAREÚHttpVersionÚHttpVersion10ÚHttpVersion11ÚStreamWriter)Úclient_logger)ÚStreamReader)ÚDEFAULT_JSON_DECODERÚJSONDecoderÚLooseCookiesÚLooseHeadersÚ
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*   © ó    úO/var/www/html/aiagents/fe/lib/python3.12/site-packages/aiohttp/client_reqrep.pyÚ_gen_default_accept_encodingrO   ^   s   € Ý",ÐÐA°/ÐArM   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__rL   rM   rN   rT   rT   b   s   … à
�3‰-ÓØ,Ó,Ø�s‰mÔrM   rT   c                   ó‚   — e Zd ZU eed<   eed<   ded<    ej                  «       Zeed<   ej                  defd„«       Z
y)	rE   ÚurlÚmethodúCIMultiDictProxy[str]ÚheadersÚreal_urlrJ   c                 ó   — | j                   S ©N)r^   ©Úselfs    rN   Úreal_url_defaultzRequestInfo.real_url_defaultp   s   € à�x‰xˆrM   N)rX   rY   rZ   r   r\   r[   ÚattrÚibrb   Údefaultrg   rL   rM   rN   rE   rE   i   sC   … à	ƒHØƒKØ$Ó$Ø�D—G‘G“I€HˆcÓà×Ñð #ò ó ñrM   rE   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)	rF   )é   é   é    ÚfingerprintrJ   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)rf   ro   Ú	digestlenÚhashfuncs       rN   Ú__init__zFingerprint.__init__|   s`   € Ü˜Ó$ˆ	Ø×-Ñ-×1Ñ1°)Ó<ˆÙÜÐ=Ó>Ð>Øœ‰_ ¬DÑ 0ÜØMóð ð "ˆŒØ'ˆÕrM   c                 ó   — | j                   S rd   )rv   re   s    rN   ro   zFingerprint.fingerprintˆ   ó   € à× Ñ Ð rM   Ú	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)   )rf   r|   ÚsslobjÚcertÚgotÚhostÚportÚ_s           rN   ÚcheckzFingerprint.checkŒ   s�   € Ø×'Ñ'¨Ô5ØØ×)Ñ)¨,Ó7ˆØ×!Ñ!¨dÐ!Ó3ˆØ�n‰n˜TÓ"×)Ñ)Ó+ˆØ�$×#Ñ#Ò#Ø&×5Ñ5°jÓAˆNˆD�$˜Ü+¨D×,=Ñ,=¸sÀDÈ$ÓOÐOð $rM   )rX   rY   rZ   r   r   r   rr   Úbytesry   Úpropertyro   ÚasyncioÚ	Transportr‹   rL   rM   rN   rF   rF   u   s]   „ àØØñÐð
( Eð 
(¨dó 
(ð ð!˜Uò !ó ð!ðP˜w×0Ñ0ð P°Tô PrM   rF   ÚsslrB   FÚ
verify_sslÚssl_contextro   c                 ó~  — |�-|s+t        j                  dt        d¬«       | �t        d«      ‚d} |�+t        j                  dt        d¬«       | �t        d«      ‚|} |�4t        j                  dt        d¬«       | �t        d«      ‚t	        |«      } t        | t        «      st        dj                  | «      «      ‚| S )	Nz/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   rF   Ú
isinstanceÚSSL_ALLOWED_TYPESÚ	TypeErrorÚformat)r�   r‘   r’   ro   s       rN   Ú_merge_ssl_paramsrž   �   sé   € ð Ð¡jÜ�‰Ø=ÜØõ	
ð
 ˆ?Üð4óð ð
 ˆCØÐÜ�‰Ø@ÜØõ	
ð
 ˆ?Üð4óð ð
 ˆCØÐÜ�‰ØTÜØõ	
ð
 ˆ?Üð4óð ô
 ˜kÓ*ˆCÜ�cÔ,Ô-Üð ß &¡ s£ó
ð 	
ð €JrM   )rP   rR   rQ   c                   ó€   — e Zd ZU eed<   ee   ed<   eed<   ee	de
d   ef   ed<   ee   ed<   ee   ed<   ee   ed	<   y)
ÚConnectionKeyrˆ   r‰   Úis_sslNFr�   ÚproxyÚ
proxy_authÚproxy_headers_hash)rX   rY   rZ   r[   r\   r   ÚintÚboolr   rB   r   rF   r   r.   rL   rM   rN   r    r    Ò   sO   … ð ƒIØ
�3‰-ÓØƒLØ	ˆz˜4 ¨¡°Ð<Ñ	=Ó=Ø�C‰=ÓØ˜Ñ#Ó#Ø  ™Ô%rM   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     rN   Ú_is_expected_content_typer­   ß   s.   € ð Ð 2Ò2Ü�}‰}Ð2Ó3¸4Ð?Ð?Ø Ð$9Ð9Ð9rM   c            0       ó  — e Zd Z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dZdZdZdZdd e«       dddej6                  dddddddddddddddœdededeeeef      d	ee    d
e!e   de"dee#   dee$   dejJ                  dee   dee&   de&dee'jP                     dee)d      dee   dee$   dee*   ded   de+e,e-d   e.df   dee    dee/d      de&dee   f.d „Z0dGd!e1d"dfd#„Z2e3d"ed$   fd%„«       Z4e4jj                  d&ed$   d"dfd'„«       Z4d"e&fd(„Z6e3d"e+d)de-d   e.f   fd*„«       Z7e3d"e8fd+„«       Z9e3d"efd,„«       Z:e3d"ee;   fd-„«       Z<e3d"e=fd.„«       Z>ded"dfd/„Z?de+ejJ                  ef   d"dfd0„Z@d	ee    d"dfd1„ZAd
e!e   d"dfd2„ZBdee#   d"dfd3„ZCde"d"dfd4„ZDdHd5„ZEdIdee$   de&d"dfd6„ZFd7e"d"dfd8„ZGdId9e&d"dfd:„ZHdee   dee$   dee    d"dfd;„ZId"e&fd<„ZJd&eKd=d>d"dfd?„ZLdJd@„ZMdHdA„ZNdHdB„ZOdededCePd"dfdD„ZQdeded	dEd"dfdF„ZRy)KrC   z*/*rM   NF)Úparamsra   Úskip_auto_headersÚdataÚcookiesÚauthÚversionÚcompressÚchunkedÚ	expect100ÚloopÚresponse_classr¢   r£   ÚtimerÚsessionr�   Úproxy_headersÚtracesÚ	trust_envÚserver_hostnamer_   r^   r¯   ra   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   rD   r¢   r£   rº   r»   rG   r�   r¼   r½   rI   r¾   r¿   c                óø  — |€t        j                  «       }t        j                  |«      }|rt	        d|›d�«      ‚t        |t        «      sJ |«       ‚t        |t        t        d «      f«      sJ |«       ‚t        d|«      | _	        |rRt        |j                  «      }|j                  |«      }|j                  |j                  «       |j                  |«      }|| _        |j                  d «      | _        |j#                  «       | _        || _        |
| _        || _        d | _        |€t.        }n|}|| _        |�|n	t3        «       | _        || _        || _        |j;                  «       r-t=        j>                  tA        jB                  d«      «      | _"        | jG                  |	«       | jI                  |«       | jK                  |«       | jM                  |«       | jO                  |«       | jQ                  |«       | jS                  ||«       | jU                  |||«       | jW                  |«       |€| j$                  | jX                  vr| j[                  «        | j]                  |«       |€g }|| _/        y )Nz+Method cannot contain non-token characters z# (found at least {match.group()!r})rG   r   )0rŽ   Úget_event_loopÚ_CONTAINS_CONTROL_CHAR_REÚsearchrt   rš   r   rU   r   Ú_sessionr   ÚqueryÚ
with_queryÚextendÚoriginal_urlÚwith_fragmentr^   Úupperr_   r¶   rµ   r¸   ÚlengthrD   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)rf   r_   r^   r¯   ra   r°   r±   r²   r³   r´   rµ   r¶   r·   r¸   r¹   r¢   r£   rº   r»   r�   r¼   r½   r¾   r¿   r¬   ÚqÚurl2Úreal_response_classs                               rN   ry   zClientRequest.__init__  s4  € ð6 ˆ<Ü×)Ñ)Ó+ˆDä)×0Ñ0°Ó8ˆÙÜØ=¸f¸Zð H5ð 5óð ô
 ˜#œsÔ#Ð( SÓ(Ð#Ü˜%¤#¤t¨D£zÐ!2Ô3Ð:°UÓ:Ð3ô ˜_¨gÓ6ˆŒÙÜ˜#Ÿ)™)Ó$ˆAØ—>‘> &Ó)ˆDØ�H‰H�T—Z‘ZÔ Ø—.‘. Ó#ˆCØˆÔØ×$Ñ$ TÓ*ˆŒØ—l‘l“nˆŒØˆŒØ ˆŒØˆŒ	ØˆŒØÐ!Ü"0Ñà"0ÐØ4GˆÔØ$Ð0‘e´i³kˆŒØˆŒ	Ø.ˆÔà�>‰>ÔÜ%.×%<Ñ%<¼S¿]¹]È1Ó=MÓ%NˆDÔ"à×Ñ˜GÔ$Ø×Ñ˜ÔØ×Ñ˜GÔ$Ø× Ñ Ð!2Ô3Ø×Ñ˜GÔ$Ø×$Ñ$ TÔ*Ø×Ñ˜˜yÔ)Ø×Ñ˜% ¨]Ô;à×"Ñ" 4Ô(ØÐ˜tŸ{™{°$×2BÑ2BÑBØ×)Ñ)Ô+Ø×#Ñ# IÔ.Øˆ>ØˆFØˆ�rM   rŠ   rJ   c                 ó   — d | _         y rd   ©Ú_ClientRequest__writer©rf   rŠ   s     rN   Ú__reset_writerzClientRequest.__reset_writerU  ó	   € Øˆ�rM   úasyncio.Task[None]c                 ó   — | j                   S rd   rå   re   s    rN   Ú_writerzClientRequest._writerX  ó   € à�}‰}ÐrM   Úwriterc                 ó°   — | j                   �%| j                   j                  | j                  «       || _         |�|j                  | j                  «       y y rd   )ræ   Úremove_done_callbackÚ_ClientRequest__reset_writerÚadd_done_callback©rf   rî   s     rN   rì   zClientRequest._writer\  óJ   € à�=‰=Ð$Ø�M‰M×.Ñ.¨t×/BÑ/BÔCØˆŒØÐØ×$Ñ$ T×%8Ñ%8Õ9ð rM   c                 ó2   — | j                   j                  dv S )N)ÚhttpsÚwss)r^   Úschemere   s    rN   r¡   zClientRequest.is_ssld  s   € Ø�x‰x�‰Ð"2Ð2Ð2rM   rB   c                 ó   — | j                   S rd   )rÍ   re   s    rN   r�   zClientRequest.sslg  ó   € à�y‰yÐrM   c           	      ó  — | j                   }|r*t        t        d„ |j                  «       D «       «      «      }nd }t	        | j
                  | j                  | j                  «       | j                  | j                  | j                  |«      S )Nc              3   ó*   K  — | ]  \  }}||f–— Œ y ­wrd   rL   )Ú.0ÚkÚvs      rN   ú	<genexpr>z/ClientRequest.connection_key.<locals>.<genexpr>o  s   è ø€ Ò)S±T°Q¸¨1¨a¬&Ñ)Sùs   ‚)r¼   ÚhashÚtupleÚitemsr    rˆ   r‰   r¡   r�   r¢   r£   )rf   r¼   Úhs      rN   Úconnection_keyzClientRequest.connection_keyk  so   € à×*Ñ*ˆÙÜ#¤EÑ)S¸]×=PÑ=PÓ=RÔ)SÓ$SÓT‰AàˆAÜØ�I‰IØ�I‰IØ�K‰K‹MØ�H‰HØ�J‰JØ�O‰OØó
ð 	
rM   c                 ó:   — | j                   j                  }|€J ‚|S rd   )r^   Úraw_host)rf   Úrets     rN   rˆ   zClientRequest.host|  s    € à�h‰h×ÑˆØˆÐˆØˆ
rM   c                 ó.   — | j                   j                  S rd   )r^   r‰   re   s    rN   r‰   zClientRequest.port‚  s   € à�x‰x�}‰}ÐrM   c                 ó„   — t        | j                  «      }t        | j                  | j                  || j
                  «      S rd   )r   ra   rE   r^   r_   rÈ   )rf   ra   s     rN   Úrequest_infozClientRequest.request_info†  s/   € ä)9¸$¿,¹,Ó)GˆÜ˜4Ÿ8™8 T§[¡[°'¸4×;LÑ;LÓMÐMrM   c                 ó¦   — |j                   st        |«      ‚|j                  |j                  }}|r t	        j
                  ||xs d«      | _        yy)z8Update destination host, port and connection type (ssl).Ú N)r  r(   ÚuserÚpasswordr   r.   r³   )rf   r^   Úusernamer  s       rN   rÕ   zClientRequest.update_host‹  sH   € ð �|Š|Ü˜S“/Ð!ð !ŸX™X s§|¡|�(ˆÙÜ×)Ñ)¨(°H²NÀÓCˆD�Ið rM   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    r7   r¥   rt   r´   )rf   r´   Úpartrÿ   s       rN   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        «       | _        t        t        | j                  j
                  «      }t        j                  |«      rd|› d�}|j                  d«      }| j                  j                  �?| j                  j                  «       s%|dt        | j                  j                  «      z   z  }|| j                  t        j                  <   |rut        |t        t        t         f«      r|j#                  «       }|D ]D  \  }}|j%                  «       dk(  r|| j                  |<   Œ)| j                  j'                  ||«       ŒF yy)zUpdate request headers.ú[ú]r  Nú:rˆ   )r   ra   r   r[   r^   r  r   Úis_ipv6_addressÚrstripr‰   Úis_default_portr   ÚHOSTrš   Údictr   r   r  ÚlowerÚadd)rf   ra   ÚnetlocÚkeyÚvalues        rN   rÖ   zClientRequest.update_headers¥  sþ   € ä)4«ˆŒô ”c˜4Ÿ8™8×,Ñ,Ó-ˆÜ×"Ñ" 6Ô*Ø˜˜ �]ˆFà—‘˜sÓ#ˆØ�8‰8�=‰=Ð$¨T¯X©X×-EÑ-EÔ-GØ�cœC §¡§¡Ó.Ñ.Ñ.ˆFØ"(ˆ�‰”T—Y‘YÑáÜ˜'¤D¬.¼)Ð#DÔEØ!Ÿ-™-›/�à%ò 1‘
��Uà—9‘9“; &Ò(Ø(-�D—L‘L Ò%à—L‘L×$Ñ$ S¨%Õ0ñ1ð	 rM   c                 óœ  — t        d„ t        |«      D «       «      | _        | j                  j	                  «       }|j                  | j                  «       | j                  j                  «       D ]&  \  }}||vsŒ| j                  j                  ||«       Œ( t        j                  |vr"t        | j                  t        j                  <   y y )Nc              3   ó$   K  — | ]  }|d f–— Œ
 y ­wrd   rL   )rý   Úhdrs     rN   r   z4ClientRequest.update_auto_headers.<locals>.<genexpr>¿  s   è ø€ ò -
ØˆS�$ŒKñ-
ùs   ‚)r   Úsortedr°   ra   ÚcopyrÇ   ÚDEFAULT_HEADERSr  r   r   Ú
USER_AGENTr6   )rf   r°   Úused_headersr&  Úvals        rN   r×   z!ClientRequest.update_auto_headers¾  s­   € Ü!,ñ -
Ü#)Ð*;Ó#<ô-
ó "
ˆÔð —|‘|×(Ñ(Ó*ˆØ×Ñ˜D×2Ñ2Ô3à×,Ñ,×2Ñ2Ó4ò 	+‰HˆC�Ø˜,Ò&Ø—‘× Ñ   cÕ*ð	+ô �?‰? ,Ñ.Ü,;ˆD�L‰LœŸ™Ò)ð /rM   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   ÚCOOKIEra   Úloadrs   rš   r   r  r   r"  Úsetr#  Úcoded_valueÚoutputr  )rf   r²   ÚcÚiter_cookiesÚnamer#  Úmrsl_vals          rN   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—[‘[Ò!rM   c                 óf  — |€y| j                   j                  t        j                  d«      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.Nr  z9compress can not be set if Content-Encoding header is setÚdeflateT)
ra   rs   r   ÚCONTENT_ENCODINGr  rµ   rt   rš   r[   r¶   )rf   r±   Úencs      rN   rÙ   z%ClientRequest.update_content_encodingå  s�   € àˆ<Øà�l‰l×Ñœt×4Ñ4°bÓ9×?Ñ?ÓAˆÙØ�}Š}Ü ØRóð ð ð �]Š]Ü˜dŸm™m¬SÔ1Ø )�”Ø26·-±-ˆD�L‰Lœ×.Ñ.Ñ/ØˆD�Lð	 rM   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)ra   rs   r   ÚTRANSFER_ENCODINGr  r¶   rt   ÚCONTENT_LENGTHr[   rq   Úbody)rf   Útes     rN   rÞ   z&ClientRequest.update_transfer_encodingö  sÆ   € à�\‰\×Ñœd×4Ñ4°bÓ9×?Ñ?ÓAˆà˜‰?Ø�|Š|Ü ðDóð ð ð �\Š\Ü×"Ñ" d§l¡lÑ2Ü ØOóð ð 4=ˆD�L‰Lœ×/Ñ/Ò0ä×"Ñ"¨$¯,©,Ñ6Ü47¼¸D¿I¹I»Ó4G�—‘œT×0Ñ0Ò1ð 7rM   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³   r^   rˆ   r2   Ú
contextlibÚsuppressÚLookupErrorr1   rš   r   r.   rœ   Úencodera   r   ÚAUTHORIZATION)rf   r³   r¾   Ú	netrc_objs       rN   rÚ   zClientRequest.update_auth  s¥   € àˆ<Ø—9‘9ˆDØˆ<™I¨$¯(©(¯-©-Ð*CÜ&Ó(ˆIÜ×$Ñ$¤[Ó1ñ FÜ+¨I°t·x±x·}±}ÓE�÷Fàˆ<Øä˜$¤× 1Ñ 1Ô2ÜÐCÓDÐDà+/¯;©;«=ˆ�‰”T×'Ñ'Ò(÷Fð Fús   Á!C	Ã	CrA  c                 ó˜  — |€y t        |t        «      r |«       }	 t        j                  j	                  |d ¬«      }|| _        | j                  stt        j                  | j                  vrX|j                  }|€d| _        nBt        j                  | j                  vr&t        |«      | j                  t        j                  <   |j                  sJ ‚|j                  j                  «       D ]2  \  }}|| j                  v rŒ|| j                  v rŒ$|| j                  |<   Œ4 y # t        j
                  $ r  t        |«      «       }Y �Œw xY w)N)ÚdispositionT)rš   r,   r"   ÚPAYLOAD_REGISTRYrs   rF  rA  r¶   r   r@  ra   Úsizer[   r  r°   )rf   rA  rM  r"  r#  s        rN   rÜ   z#ClientRequest.update_body_from_data  s!  € Øˆ<Øô �dœHÔ%Ù“6ˆDð	$Ü×+Ñ+×/Ñ/°À$Ð/ÓGˆDð ˆŒ	ð �|Š|Ü×"Ñ"¨$¯,©,Ñ6Ø—y‘y�Ø�<Ø#'�D•Lä×*Ñ*°$·,±,Ñ>Ü<?À»I˜Ÿ™¤T×%8Ñ%8Ñ9ð �|Š|Ðˆ|Ø ŸL™L×.Ñ.Ó0ò 	&‰LˆS�%Ø�d—l‘lÑ"ØØ�d×,Ñ,Ñ,ØØ %ˆD�L‰L˜Òñ	&øô# ×"Ñ"ò 	$Ø!”8˜D“>Ó#‹Dð	$ús   œ!D" Ä"#E	ÅE	Úexpectc                 ó  — |rd| j                   t        j                  <   n=| j                   j                  t        j                  d«      j	                  «       dk(  rd}|r | j
                  j                  «       | _        y y )Nz100-continuer  T)ra   r   ÚEXPECTrs   r  r¸   Úcreate_futureÚ	_continue)rf   rN  s     rN   rß   z$ClientRequest.update_expect_continue>  s^   € ÙØ(6ˆD�L‰LœŸ™Ò%Ø�\‰\×ÑœdŸk™k¨2Ó.×4Ñ4Ó6¸.ÒHØˆFáØ!ŸY™Y×4Ñ4Ó6ˆD�Nð rM   c                 ó|   — |r%t        |t        j                  «      st        d«      ‚|| _        || _        || _        y )Nz,proxy_auth must be None or BasicAuth() tuple)rš   r   r.   rt   r¢   r£   r¼   )rf   r¢   r£   r¼   s       rN   rÛ   zClientRequest.update_proxyG  s8   € ñ œj¨´W×5FÑ5FÔGÜÐKÓLÐLØˆŒ
Ø$ˆŒØ*ˆÕrM   c                 ó  — | j                   t        k  ry| j                   t        k(  r.| j                  j                  t        j
                  «      dk(  ryy| j                  j                  t        j
                  «      dk(  ryy)NFú
keep-aliveTÚclose)r´   r8   ra   rs   r   Ú
CONNECTIONre   s    rN   Ú
keep_alivezClientRequest.keep_aliveS  s_   € Ø�<‰<œ-Ò'àØ�<‰<œ=Ò(Ø�|‰|×Ñ¤§¡Ó0°LÒ@ØàØ�\‰\×ÑœdŸo™oÓ.°'Ò9ØàrM   ÚconnrH   c              ƒ   óF  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 Œä# t        j                  $ r Y yw xY w7 Œ§7 ŒN7 Œ6# t        $ r‰}|j                  €,t        |t        j                   «      r|j#                  |«       nGt%        |j                  d| j&                  z  «      }||_        ||_        |j#                  |«       Y d}~yY d}~yd}~wt        j                  $ r |j                  «       ƒ d{  –—†7   Y yt,        $ r}|j#                  |«       Y d}~yd}~ww xY w­w)z-Support coroutines that yields bytes objects.Nz!Can not write request body for %s)rR  ÚdrainrŽ   ÚCancelledErrorÚprotocolrš   rA  r"   ÚPayloadÚwriterŒ   Ú	bytearrayÚ	write_eofÚstart_timeoutÚOSErrorÚerrnoÚTimeoutErrorÚset_exceptionr%   r^   Ú__context__Ú	__cause__Ú	Exception)rf   rî   rY  r]  ÚchunkÚexcÚnew_excs          rN   Úwrite_byteszClientRequest.write_bytesa  sÈ  è ø€ ð
 �>‰>Ð%ðØ—l‘l“n×$Ð$Ø—n‘n×$Ð$ð —=‘=ˆØÐ#Ð#Ð#ð	%Ü˜$Ÿ)™)¤W§_¡_Ô5Ø—i‘i—o‘o fÓ-×-Ñ-ä˜dŸi™i¬%´Ð);Ô<Ø!%§¡ �D”Ià!ŸY™Yò .�EØ Ÿ,™, uÓ-×-Ñ-ð.ð" ×"Ñ"Ó$×$Ð$Ø×"Ñ"Õ$ðA %øØ$ùÜ×)Ñ)ò Ùðúð .øð .øð  %ùô ò 		0Ø�y‰yÐ ¤Z°´W×5IÑ5IÔ%JØ×&Ñ& sÕ+ä'Ø—I‘IÐBÀTÇXÁXÑMó�ð '*�Ô#Ø$'�Ô!Ø×&Ñ& w×/Ñ/ô ,ûô ×%Ñ%ò 	%Ø×"Ñ"Ó$×$Ó$Üò 	(Ø×"Ñ" 3×'Ñ'ûð	(üsÔ   ‚H!�D £D¤D ·D¸D ¼H!ÁAD= ÂD7ÂAD= Ã*D9Ã+D= Ã1H!ÄD;ÄH!ÄD ÄD ÄD4Ä1H!Ä3D4Ä4H!Ä7D= Ä9D= Ä;H!Ä=	HÅA:G
Ç 
H!Ç
)HÇ3G6Ç4HÇ9H!Ç;HÈHÈH!ÈHÈH!c              ƒ   óv  K  — | j                   t        j                  k(  rQ| j                  j                  }|€J ‚t        j                  |«      rd|› d�}|› d| j                  j                  › �}nz| j                  r&| j                  «       st        | j                  «      }nH| j                  j                  }| j                  j                  r|d| j                  j                  z   z  }|j                  }|€J ‚t        || j                  t!        j"                  | j$                  | j                   | j                  «      t!        j"                  | j&                  | j                   | j                  «      ¬«      }| j(                  r|j+                  | j(                  «       | j,                  �|j/                  «        | j                   | j0                  v rUt        j2                  | j4                  vr9t        j2                  | j6                  vrd| j6                  t        j2                  <   | j6                  j9                  t        j:                  «      }|s;| j=                  «       r| j>                  t@        k(  rd}n| j>                  tB        k(  rd}|�|| j6                  t        j:                  <   d	jE                  | j                   || j>                  ¬
«      }|jG                  || j6                  «      ƒ d {  –—†  | j                  jI                  | jK                  ||«      «      | _&        | jN                  }|€J ‚ || j                   | jP                  | jL                  | jR                  | jT                  | jV                  | jX                  | j                  | jZ                  ¬«	      | _.        | j\                  S 7 ŒÀ­w)Nr  r  r  ú?)Úon_chunk_sentÚon_headers_sentzapplication/octet-streamrU  rV  z {0} {1} HTTP/{v.major}.{v.minor})rÿ   )rî   Úcontinue100rº   r  r½   r¸   r»   )/r_   r   ÚMETH_CONNECTr^   r  r   r  r‰   r¢   r¡   r[   Úraw_pathÚraw_query_stringr]  r:   r¸   Ú	functoolsÚpartialÚ_on_chunk_request_sentÚ_on_headers_request_sentrµ   Úenable_compressionr¶   Úenable_chunkingÚPOST_METHODSÚCONTENT_TYPEr°   ra   rs   rW  rX  r´   r8   r9   r�   Úwrite_headersÚcreate_taskrm  rì   r¹   rÈ   rR  rÌ   r  rà   rÄ   Úresponse)	rf   rY  Úconnect_hostÚpathr]  rî   Ú
connectionÚstatus_liner¹   s	            rN   ÚsendzClientRequest.sendŠ  sè  è ø€ ð
 �;‰;œ$×+Ñ+Ò+ØŸ8™8×,Ñ,ˆLØÐ+Ð+Ð+Ü×&Ñ& |Ô4Ø!" < .°Ð2�Ø"�^ 1 T§X¡X§]¡] OÐ4‰DØ�ZŠZ §¡¤Ü�t—x‘x“=‰Dà—8‘8×$Ñ$ˆDØ�x‰x×(Ò(Ø˜˜dŸh™h×7Ñ7Ñ7Ñ7�à—=‘=ˆØÐ#Ð#Ð#ÜØØ�I‰IÜ#×+Ñ+Ø×+Ñ+¨T¯[©[¸$¿(¹(óô &×-Ñ-Ø×-Ñ-¨t¯{©{¸D¿H¹Hóô	
ˆð �=Š=Ø×%Ñ% d§m¡mÔ4à�<‰<Ð#Ø×"Ñ"Ô$ð �K‰K˜4×,Ñ,Ñ,Ü×!Ñ!¨×)?Ñ)?Ñ?Ü×!Ñ!¨¯©Ñ5à.HˆD�L‰Lœ×*Ñ*Ñ+ð —\‘\×%Ñ%¤d§o¡oÓ6ˆ
ÙØ�‰Ô Ø—<‘<¤=Ò0Ø!-‘Jà—<‘<¤=Ò0Ø!(�JàÐ!Ø,6ˆD�L‰LœŸ™Ñ)ð 9×?Ñ?Ø�K‰K˜ §¡ð @ó 
ˆð ×"Ñ" ;°·±Ó=×=Ð=à—y‘y×,Ñ,¨T×-=Ñ-=¸fÀdÓ-KÓLˆŒà×,Ñ,ˆØÐ)Ð)Ð)Ù&Ø�K‰KØ×ÑØ—<‘<ØŸ™Ø—+‘+Ø×*Ñ*Ø—<‘<Ø—‘Ø—M‘Mô

ˆŒð �}‰}Ðð# 	>ús   ‚K4N9Ë6N7Ë7CN9c              ƒ   óÂ   K  — | j                   �At        j                  t        j                  «      5  | j                   ƒ d {  –—†  d d d «       y y 7 Œ# 1 sw Y   y xY w­wrd   )rì   rD  rE  rŽ   r\  re   s    rN   rV  zClientRequest.closeÛ  sS   è ø€ Ø�<‰<Ð#Ü×$Ñ$¤W×%;Ñ%;Ó<ñ #Ø—l‘l×"Ð"÷#ð #ð $à"ø÷#ð #üs.   ‚0A²AÁAÁAÁ
AÁAÁAÁAc                 óÞ   — | j                   �a| j                  j                  «       s| j                   j                  «        | j                   j	                  | j
                  «       d | _         y y rd   )rì   r¸   Ú	is_closedÚcancelrð   rñ   re   s    rN   Ú	terminatezClientRequest.terminateà  sP   € Ø�<‰<Ð#Ø—9‘9×&Ñ&Ô(Ø—‘×#Ñ#Ô%Ø�L‰L×-Ñ-¨d×.AÑ.AÔBØˆD�Lð	 $rM   rj  c              ƒ   óh   K  — | j                   D ]  }|j                  |||«      ƒ d {  –—†  Œ y 7 Œ­wrd   )rà   Úsend_request_chunk_sent)rf   r_   r^   rj  Útraces        rN   rx  z$ClientRequest._on_chunk_request_sentç  s6   è ø€ Ø—\‘\ò 	DˆEØ×/Ñ/°¸¸UÓC×CÑCñ	DØCúó   ‚&2¨0©2zCIMultiDict[str]c              ƒ   óh   K  — | j                   D ]  }|j                  |||«      ƒ d {  –—†  Œ y 7 Œ­wrd   )rà   Úsend_request_headers)rf   r_   r^   ra   r�  s        rN   ry  z&ClientRequest._on_headers_request_sentë  s8   è ø€ ð —\‘\ò 	CˆEØ×,Ñ,¨V°S¸'ÓB×BÑBñ	CØBúrŽ  rd   ©rJ   N)F)rY  rH   rJ   rD   )SrX   rY   rZ   r   ÚMETH_GETÚ	METH_HEADÚMETH_OPTIONSÚ
METH_TRACErÝ   Ú
METH_PATCHÚ	METH_POSTÚMETH_PUTr|  ÚunionÚMETH_DELETEÚALL_METHODSÚACCEPTÚACCEPT_ENCODINGrO   r)  rA  r³   r€  ræ   rR  Ú	frozensetr    r9   r[   r   r   r   r@   r   r   r?   r.   r7   r¦   rŽ   ÚAbstractEventLoopr   r-   r   rB   r   rF   r   ry   Úobjectrñ   r�   rì   Úsetterr¡   r�   r    r  rˆ   r¥   r‰   rE   r  rÕ   rÔ   rÖ   r×   rØ   rÙ   rÞ   rÚ   rÜ   rß   rÛ   rX  r#   rm  r…  rV  rŠ  rŒ   rx  ry  rL   rM   rN   rC   rC   ç   s  „ à�‰Ø�‰Ø×ÑØ�‰ð	€Kð —O‘O T§^¡^°T·]±]ÐC€LØ×#Ñ# LÓ1×7Ñ7¸×9IÑ9IÐ8JÓK€Kð 	�‰�UØ×ÑÑ:Ó<ð€Oð
 €DØ€DØ€Hà€HØ€Ið /3Ø*.Ù+4«;ØØ*.Ø$(Ø$(×$6Ñ$6Ø"&Ø"&ØØ48Ø;?Ø#Ø*.Ø,0Ø-1ØDHØ04Ø*.ØØ)-ò3QàðQð ðQð
 ˜  c Ñ*Ñ+ðQð ˜,Ñ'ðQð $ C™=ðQð ðQð ˜,Ñ'ðQð �yÑ!ðQð ×!Ñ!ðQð ˜3‘-ðQð ˜$‘ðQð ðQð �w×0Ñ0Ñ1ðQð  ! Ð&6Ñ!7Ñ8ð!Qð" ˜‰}ð#Qð$ ˜YÑ'ð%Qð& Ð(Ñ)ð'Qð( ˜/Ñ*ð)Qð* �:˜w u™~¨{¸DÐ@ÑAð+Qð,   Ñ-ð-Qð. ˜˜g™Ñ'ð/Qð0 ð1Qð2 " #™ó3Qñf ð °$ó ð ð˜Ð"6Ñ7ò ó ðð ‡^�^ð:˜hÐ';Ñ<ð :Àò :ó ð:ð3˜ó 3ð ð�U˜<¨¨w°u©~¸{ÐJÑKò ó ðð ð
 ò 
ó ð
ð  ð�cò ó ðð
 ð�h˜s‘mò ó ðð ðN˜kò Nó ðNð	D˜sð 	D tó 	Dð e¨D×,<Ñ,<¸cÐ,AÑ&Bð Àtó ð1 h¨|Ñ&<ð 1Àó 1ð2<°X¸c±]ð <Àtó <ðI h¨|Ñ&<ð IÀó Ið2 ¨Cð  °Dó  ó"Hñ,9 ¨Ñ 3ð 9Àð 9ÐQUó 9ð  &¨#ð  &°$ó  &ñD7¨Tð 7¸dó 7ð
+à˜‰}ð
+ð ˜YÑ'ð
+ð   Ñ-ð	
+ð
 
ó
+ð˜Dó ð'%Ø*ð'%Ø2>ð'%à	ó'%óROób#ó
 ðD°3ð D¸Sð DÈð DÐSWó DðCØðCØ #ðCØ.@ðCà	ôCrM   rC   c                   ó”  — 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d<   dZdZeej(                     ed<   d	Zd
ZdZde
deddded   dededed   dej:                  ddddfd„ZdIdeddfd„Z e!ded   fd„«       Z"e"jF                  ded   ddfd„«       Z"e$defd„«       Z%e$defd„«       Z&e$defd „«       Z'e$de
fd!„«       Z(e$dJd"„«       Z)e$defd#„«       Z*e$defd$„«       Z+e$dee,   fd%„«       Z-e.fd&e/ddfd'„Z0de
fd(„Z1e!ded)   fd*„«       Z2e$de3d+   fd,„«       Z4e$dKd-„«       Z5dLd.„Z6dMd/„Z7e!de8fd0„«       Z9dMd1„Z:de/fd2„Z;e!de8fd3„«       Z<dMd4„Z=dMd5„Z>dMd6„Z?dMd7„Z@dMd8„ZAdMd9„ZBdeCfd:„ZDde
fd;„ZEdNd<ee
   d=e
de
fd>„ZFdeGd?d@œd<ee
   dAeHdBee
   de/fdC„ZIdOdD„ZJdEeeKeL      dFeeL   dGeeM   ddfdH„ZNy)PrD   Nr´   ÚstatusÚreasonÚcontentÚ_headersÚ_raw_headersrÓ   TFr_   r^   rî   rê   rr  zasyncio.Future[bool]rº   r  r½   rI   r¸   r»   rG   rJ   c                óô  — t        |t        «      sJ ‚|| _        t        «       | _        || _        |j                  d «      | _        d | _        || _	        || _
        d| _        d| _        || _        |�|n	t        «       | _        i | _        || _        || _        |	| _        |	€	d„ | _        n|	j(                  | _        |j+                  «       r.t-        j.                  t1        j2                  d«      «      | _        y y )NTrL   c                   ó   — y)Núutf-8rL   )rŠ   s    rN   ú<lambda>z)ClientResponse.__init__.<locals>.<lambda>.  s   � rM   r   )rš   r   r_   r   r²   Ú	_real_urlrÉ   Ú_urlÚ_bodyrì   rR  Ú_closedÚ_historyÚ_request_infor0   rÌ   Ú_cacherà   Ú_looprÄ   Ú_resolve_charsetrÎ   rÏ   rÐ   rÑ   rÒ   rÓ   )
rf   r_   r^   rî   rr  rº   r  r½   r¸   r»   s
             rN   ry   zClientResponse.__init__  sã   € ô ˜#œsÔ#Ð#Ð#àˆŒÜ#“~ˆŒàˆŒØ×%Ñ% dÓ+ˆŒ	ØˆŒ
Ø5;ˆŒØ$ˆŒØˆŒØ46ˆŒØ)ˆÔØ$Ð0‘e´i³kˆŒØ&(ˆŒØˆŒØˆŒ
à18ˆŒð ˆ?ñ #ð Õ!ð %,×$<Ñ$<ˆDÔ!Ø�>‰>ÔÜ%.×%<Ñ%<¼S¿]¹]È1Ó=MÓ%NˆDÕ"ð rM   rŠ   c                 ó   — d | _         y rd   ©Ú_ClientResponse__writerrç   s     rN   rè   zClientResponse.__reset_writer4  ré   rM   c                 ó   — | j                   S rd   r¶  re   s    rN   rì   zClientResponse._writer7  rí   rM   c                 ó°   — | j                   �%| j                   j                  | j                  «       || _         |�|j                  | j                  «       y y rd   )r·  rð   Ú_ClientResponse__reset_writerrò   ró   s     rN   rì   zClientResponse._writer;  rô   rM   c                 ó   — | j                   S rd   )r­  re   s    rN   r^   zClientResponse.urlC  rú   rM   c                 óR   — t        j                  dt        d¬«       | j                  S )NzDeprecated, use .url #1654é   r•   )r—   r˜   r™   r­  re   s    rN   Úurl_objzClientResponse.url_objG  s   € ä�‰Ð2Ô4FÐSTÕUØ�y‰yÐrM   c                 ó   — | j                   S rd   )r¬  re   s    rN   rb   zClientResponse.real_urlL  s   € à�~‰~ÐrM   c                 ó^   — | j                   j                  €J ‚| j                   j                  S rd   )r­  rˆ   re   s    rN   rˆ   zClientResponse.hostP  s$   € à�y‰y�~‰~Ð)Ð)Ð)Ø�y‰y�~‰~ÐrM   c                 ó   — | j                   S rd   )r¦  re   s    rN   ra   zClientResponse.headersU  rí   rM   c                 ó   — | j                   S rd   )r§  re   s    rN   Úraw_headerszClientResponse.raw_headersY  r{   rM   c                 ó   — | j                   S rd   )r±  re   s    rN   r  zClientResponse.request_info]  s   € à×!Ñ!Ð!rM   c                 óä   — | j                   j                  t        j                  «      }|€y t	        j
                  |«      \  }}t        |«      }t	        j                  |«      }t        |||«      S rd   )	r¦  rs   r   ÚCONTENT_DISPOSITIONr!   Úparse_content_dispositionr	   Úcontent_disposition_filenamerT   )rf   ÚrawÚdisposition_typeÚ
params_dctr¯   rW   s         rN   Úcontent_dispositionz"ClientResponse.content_dispositiona  sd   € à�m‰m×Ñ¤× 8Ñ 8Ó9ˆØˆ;ØÜ'0×'JÑ'JÈ3Ó'OÑ$Ð˜*Ü! *Ó-ˆÜ×9Ñ9¸&ÓAˆÜ!Ð"2°F¸HÓEÐErM   Ú	_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)
r¯  Ú_connectionÚreleaseÚ_cleanup_writerr³  rÎ   r˜   ÚResourceWarningrÓ   Úcall_exception_handler)rf   rÍ  ÚkwargsÚcontexts       rN   Ú__del__zClientResponse.__del__k  s¯   € Ø�<Š<Øà×ÑÐ'Ø×Ñ×$Ñ$Ô&Ø× Ñ Ô"à�z‰z×#Ñ#Ô%Ø" DÐ)�Ø�	—‘Ð!3°D°8Ð<¼oÑXÐQWÒXØ.2Ð?RÑS�Ø×)Ò)Ø26×2HÑ2H�GÐ.Ñ/Ø—
‘
×1Ñ1°'Õ:ð &ð	 (rM   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[   r^   r¤  rG  ÚdecodeÚprintr�   r£  ra   Úgetvalue)rf   ÚoutÚascii_encodable_urlÚascii_encodable_reasons       rN   Ú__repr__zClientResponse.__repr__{  s“   € Ü�k‰k‹mˆÜ! $§(¡(›mÐØ�;Š;Ø%)§[¡[×%7Ñ%7ØÐ+ó&ç‰f�W‹oñ #ð &,Ð"ÜØ*×1Ñ1Ø# T§[¡[Ð2Hóð õ		
ô 	ˆd�l‰l Õ%Ø�|‰|‹~ÐrM   rH   c                 ó   — | j                   S rd   )rÓ  re   s    rN   rƒ  zClientResponse.connection�  s   € à×ÑÐrM   )rD   .c                 ó   — | j                   S )z2A sequence of of responses, if redirects occurred.)r°  re   s    rN   ÚhistoryzClientResponse.history‘  s   € ð �}‰}ÐrM   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*$Úrelr^   )Újoinra   Úgetallr   r   Úrer  r¬   ÚgroupsÚMr   rs   r^   r   r[   )rf   Ú	links_strÚlinksr,  r¬   r^   Ú
params_strr¯   rí  Úparamr"  rŠ   r#  s                rN   rõ  zClientResponse.links–  s@  € à—I‘I˜dŸl™l×1Ñ1°&¸"Ó=Ó>ˆ	áÜ!¤)£+Ó.Ð.ä<E»Kˆä—8‘8˜L¨)Ó4ó 	6ˆ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ð/	6ô2 ˜eÓ$Ð$rM   c           	   ƒ   ó4  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«      D ]  }	 | j8                  j;                  |«       Œ  | S 7 �Œ.# t        j                  $ rH}t        | j                  | j                  |j                  |j                  |j                  ¬«      |‚d}~ww xY w# 1 sw Y   �Œ0xY w# t<        $ r }t?        j@                  d	|«       Y d}~Œµd}~ww xY w­w)
zStart response processing.FTN©r£  rÑ  ra   éd   éÇ   ée   rL   z!Can not load response cookies: %s)!r¯  r]  Ú	_protocolrÓ  rÌ   Úreadr    ÚHttpProcessingErrorr&   r  rë  ÚcoderÑ  ra   rR  r5   Úon_eofÚ_response_eofr´   r£  r¤  r¦  rÃ  r§  r¥  rð  r   Ú
SET_COOKIEr²   r2  r   r;   Úwarning)rf   rƒ  r]  rÑ  r"   rk  r&  s          rN   ÚstartzClientResponse.startº  sÐ  è ø€ àˆŒØ#×,Ñ,ˆŒØ%ˆÔà�[‰[ñ 	*Øð
Ø#Ÿ~™~�HØ-5¯]©]«_×'<Ñ$�G˜Wð —<‘< #Ò%¨¯©¸Ò);¸w¿|¹|ÈsÒ?RØà—>‘>Ð-Ü˜tŸ~™~¨tÔ4Ø%)�D”Nð' ð ÷!	*ð. 	ˆ�‰�t×)Ñ)Ô*ð —‘ˆŒØ—l‘lˆŒØ—n‘nˆŒð  Ÿ™ˆŒØ#×/Ñ/ˆÔð ˆŒð —<‘<×&Ñ&¤t§¡¸Ó;ò 	PˆCðPØ—‘×!Ñ! #Õ&ð	Pð
 ˆðM (=úÜ×/Ñ/ò Ü-Ø×)Ñ)ØŸ™Ø"Ÿx™xØ #§¡Ø #§¡ôð ðûðú÷	*ñ 	*ûôR ò PÜ×%Ñ%Ð&IÈ3×OÑOûðPüs~   ‚,H®G±FÁE>ÁFÁAGÂ1B-HÅG,Å:HÅ>FÆGÆAGÇGÇGÇG)Ç$HÇ,	HÇ5HÈHÈHÈHc                 óò   — | j                   ry | j                  �G| j                  j                  �!| j                  j                  j                  ry | j	                  «        d| _         | j                  «        y ©NT)r¯  rÓ  r]  ÚupgradedÚ_release_connectionrÕ  re   s    rN   r  zClientResponse._response_eofí  sc   € Ø�<Š<Øà×ÑÐ'ð × Ñ ×)Ñ)Ð5Ø×$Ñ$×-Ñ-×6Ò6àà×$Ñ$Ô&àˆŒØ×ÑÕrM   c                 ó   — | j                   S rd   )r¯  re   s    rN   ÚclosedzClientResponse.closedÿ  s   € à�|‰|ÐrM   c                 óØ   — | j                   s| j                  «        d| _        | j                  �| j                  j	                  «       ry | j                  «        | j                  «        y r  )Ú	_releasedÚ_notify_contentr¯  r³  rˆ  rÕ  r	  re   s    rN   rV  zClientResponse.close  sP   € Ø�~Š~Ø× Ñ Ô"àˆŒØ�:‰:Ð §¡×!5Ñ!5Ô!7Øà×ÑÔØ× Ñ Õ"rM   c                 óœ   — | j                   s| j                  «        d| _        | j                  «        | j	                  «        t        «       S r  )r  r  r¯  rÕ  r	  r3   re   s    rN   rÔ  zClientResponse.release  s;   € Ø�~Š~Ø× Ñ Ô"àˆŒà×ÑÔØ× Ñ Ô"Ü‹vˆrM   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£  re   s    rN   ÚokzClientResponse.ok  s   € ð �T—[‘[Ñ Ð rM   c                 óÜ   — | j                   s`| j                  €J ‚| j                  «        t        | j                  | j
                  | j                  | j                  | j                  ¬«      ‚y )Nrù  )r  r¤  rÔ  r&   r  rë  r£  ra   re   s    rN   Úraise_for_statuszClientResponse.raise_for_status!  sY   € Ø�wŠwà—;‘;Ð*Ð*Ð*Ø�L‰LŒNÜ%Ø×!Ñ!Ø—‘Ø—{‘{ØŸ™ØŸ™ôð ð	 rM   c                 ó¸   ‡ — ‰ j                   �M‰ j                  €"‰ j                   j                  «        d ‰ _         y ‰ j                  j                  ˆ fd„«       y y )Nc                 ó$   •— ‰j                  «       S rd   )r	  )Úfrf   s    €rN   r«  z4ClientResponse._release_connection.<locals>.<lambda>4  s   ø€ ¸×9QÑ9QÓ9S€ rM   )rÓ  rì   rÔ  rò   re   s   `rN   r	  z"ClientResponse._release_connection.  sK   ø€ Ø×ÑÐ'Ø�|‰|Ð#Ø× Ñ ×(Ñ(Ô*Ø#'�Õ à—‘×.Ñ.Ó/SÕTð (rM   c              ƒ   óp   K  — | j                   �| j                   ƒ d {  –—†  | j                  «        y 7 Œ­wrd   )rì   r	  re   s    rN   Ú_wait_releasedzClientResponse._wait_released6  s.   è ø€ Ø�<‰<Ð#Ø—,‘,×ÐØ× Ñ Õ"ð úó   ‚6ž4Ÿ6c                 ó^   — | j                   �| j                   j                  «        d | _        y rd   )rì   r‰  rÄ   re   s    rN   rÕ  zClientResponse._cleanup_writer;  s#   € Ø�<‰<Ð#Ø�L‰L×ÑÔ!Øˆ�rM   c                 ó‚   — | j                   }|r*|j                  «       €|j                  t        d«      «       d| _        y )NúConnection closedT)r¥  Ú	exceptionrf  r$   r  )rf   r¥  s     rN   r  zClientResponse._notify_content@  s8   € Ø—,‘,ˆÙ�w×(Ñ(Ó*Ð2Ø×!Ñ!Ô"7Ð8KÓ"LÔMØˆ�rM   c              ƒ   óp   K  — | j                   �| j                   ƒ d {  –—†  | j                  «        y 7 Œ­wrd   )rì   rÔ  re   s    rN   Úwait_for_closezClientResponse.wait_for_closeF  s+   è ø€ Ø�<‰<Ð#Ø—,‘,×ÐØ�‰�ð úr  c              ƒ   óÆ  K  — | j                   €s	 | j                  j                  «       ƒ d{  –—† | _         | j                  D ];  }|j	                  | j
                  | j                  | j                   «      ƒ d{  –—†  Œ= n| j                  rt        d«      ‚| j                  «       ƒ d{  –—†  | j                   S 7 Œ�7 ŒD# t        $ r | j                  «        ‚ w xY w7 Œ2­w)zRead response payload.Nr  )r®  r¥  rþ  rà   Úsend_response_chunk_receivedr_   r^   ÚBaseExceptionrV  r  r$   r  )rf   r�  s     rN   rþ  zClientResponse.readK  sÈ   è ø€ à�:‰:ÐðØ#'§<¡<×#4Ñ#4Ó#6×6�”
Ø!Ÿ\™\ò �EØ×<Ñ<ØŸ™ T§X¡X¨t¯z©zó÷ ñ ñð �^Š^Ü'Ð(;Ó<Ð<à×!Ñ!Ó#×#Ð#Ø�z‰zÐð 7øðùô !ò Ø—
‘
”Øðúð 	$úsK   ‚C!�C ­B=®AC Á:B?Á;C Â+C!Â,CÂ-C!Â=C Â?C ÃCÃC!c                 ó4  — | j                   j                  t        j                  d«      j	                  «       }t        j                  |«      }|j                  j                  d«      }|rBt        j                  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)ra   rs   r   r}  r  r   Úparse_mimetyperV   rD  rE  rF  ÚcodecsÚlookupr8  rU   Úsubtyper®  ÚRuntimeErrorr´  )rf   ÚctypeÚmimetypeÚencodings       rN   Úget_encodingzClientResponse.get_encoding]  së   € Ø—‘× Ñ ¤×!2Ñ!2°BÓ7×=Ñ=Ó?ˆÜ×)Ñ)¨%Ó0ˆà×&Ñ&×*Ñ*¨9Ó5ˆÙÜ×$Ñ$¤[Ó1ñ 4Ü—}‘} XÓ.×3Ñ3÷4ñ 4ð �=‰=˜MÒ)Ø×Ñ Ò&¨(×*:Ñ*:¸fÒ*Dð à�:‰:ÐÜØIóð ð ×$Ñ$ T¨4¯:©:Ó6Ð6÷4ð 4ús   ÂDÄDr/  Úerrorsc              ƒ   ó´   K  — | j                   €| j                  «       ƒ d{  –—†  |€| j                  «       }| j                   j                  ||¬«      S 7 Œ3­w)z!Read response payload and decode.N)r1  )r®  rþ  r0  râ  )rf   r/  r1  s      rN   ÚtextzClientResponse.textt  sY   è ø€ à�:‰:ÐØ—)‘)“+×ÐàÐØ×(Ñ(Ó*ˆHà�z‰z× Ñ Ø˜Vð !ó 
ð 	
ð ús   ‚ A¢A£4Arª   )r/  ÚloadsÚcontent_typer4  r5  c             ƒ   óÎ  K  — | j                   €| j                  «       ƒ d{  –—†  |rt| j                  j                  t        j
                  d«      j                  «       }t        ||«      s0t        | 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: %s)rÑ  ra   )r®  rþ  ra   rs   r   r}  r  r­   r'   r  rë  r  r0  râ  )rf   r/  r4  r5  r-  Ústrippeds         rN   r&  zClientResponse.json€  sÇ   è ø€ ð �:‰:ÐØ—)‘)“+×ÐáØ—L‘L×$Ñ$¤T×%6Ñ%6¸Ó;×AÑAÓCˆEÜ,¨U°LÔAÜ&Ø×%Ñ%Ø—L‘LàPÐSXÑXà ŸL™Lôð ð —:‘:×#Ñ#Ó%ˆÙØàÐØ×(Ñ(Ó*ˆHá�X—_‘_ XÓ.Ó/Ð/ð+ ús   ‚ C%¢C#£CC%c              ƒ   ó   K  — | S ­wrd   rL   re   s    rN   Ú
__aenter__zClientResponse.__aenter__   s   è ø€ Øˆùs   ‚Úexc_typeÚexc_valÚexc_tbc              ƒ   ó`   K  — | j                  «        | j                  «       ƒ d {  –—†  y 7 Œ­wrd   )rÔ  r  )rf   r:  r;  r<  s       rN   Ú	__aexit__zClientResponse.__aexit__£  s#   è ø€ ð 	�‰ŒØ×!Ñ!Ó#×#Ò#ús   ‚$.¦,§.rd   )rJ   r`   )rJ   z/MultiDictProxy[MultiDictProxy[Union[str, URL]]])rƒ  rH   rJ   rD   r‘  )NÚstrict)rJ   rD   )OrX   rY   rZ   r´   r   r7   r\   r£  r¥   r¤  r[   r¥  r<   r¦  r   r§  rA   rÓ  rÓ   rÏ   ÚStackSummaryr¯  r  r·  r   r-   rE   r   rŽ   rŸ  ry   r   rº  r�   rì   r¡  r4   r^   r¾  rb   rˆ   ra   rÃ  r  rT   rÌ  r—   r   rÚ  rè  rƒ  r   rë  rõ  r  r  r¦   r  rV  rÔ  r  r  r	  r  rÕ  r  r  rŒ   rþ  r0  r3  r=   r>   r&  r9  r   r"  r
   r>  rL   rM   rN   rD   rD   ò  sß  … ð &*€GˆX�kÑ"Ó)Ø€FˆCÓØ €FˆH�S‰MÓ à €Gˆ\Ó Ø&*€HÐ˜sÑ#Ó*Ø#€L�*Ó#à€KØ:>Ð�x 	× 6Ñ 6Ñ7Ó>ð €GØ€IØ€Hð*Oàð*Oð ð*Oð
 %ð*Oð Ð4Ñ5ð*Oð  ð*Oð "ð*Oð �W‘ð*Oð ×'Ñ'ð*Oð !ð*Oð 
ó*OñX ð °$ó ð ð˜Ð"6Ñ7ò ó ðð ‡^�^ð:˜hÐ';Ñ<ð :Àò :ó ð:ð ð�Sò ó ðð ð˜ò ó ðð ð˜#ò ó ðð ð�cò ó ðð òó ðð ð!˜Zò !ó ð!ð ð"˜kò "ó ð"ð ðF XÐ.@Ñ%Aò Fó ðFð (0ñ ; ð ;°Dó ;ð ˜#ó ð$ ð ˜H \Ñ2ò  ó ð ð ð˜Ð4Ñ5ò ó ðð ò!%ó ð!%óF1ófð$ ð˜ò ó ðó	#ð˜ó ð ð!�Dò !ó ð!óóUó#ó
ó
óð
˜Eó ð$7˜có 7ñ.

 8¨C¡=ð 

Àð 

ÐTWó 

ð #'Ø1Ø&8ò0ð ˜3‘-ð0ð ð	0ð
 ˜s‘mð0ð 
ó0ó@ð
$à˜4 Ñ.Ñ/ð
$ð ˜-Ñ(ð
$ð ˜Ñ'ð	
$ð
 
ô
$rM   rD   )rrŽ   r)  rD  rv  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   r   rh   Ú	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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   Úlogr;   Ústreamsr<   Útypedefsr=   r>   r?   r@   rA   r�   rB   ÚImportErrorr   Ú__all__ÚclientrG   Ú	connectorrH   ÚtracingrI   ÚcompilerÂ   r«   r[   rO   ÚsrT   rE   rF   r¦   rU   r›   rŒ   rž   r    r­   rC   rD   rL   rM   rN   ú<module>rU     sS  ðÛ Û Û Û Û 	Û 	Û 
Û Û ß %Ñ %ß :Ñ :ß 1÷÷ ÷ õ ó  ß NÓ NÝ ç 5Õ 5Ý %÷÷ õ *Ý ÷
÷ 
õ 
÷õ õ Ý !÷õ ðÛÝð L€ñ Ý%Ý%Ýð '˜BŸJ™JÐ'EÓFÐ Ø
ˆ"�*‰*Ð9Ó
:€ðB có Bð €‡��T $¨dÔ3÷ð ó 4ðð €‡��T $¨dÔ3÷ð ó 4ð÷Pñ PðD €?ØŸ™¨¨{¹DÀ»JÐGÑá˜T›
Ðð2Ø	ˆ|˜W U™^¨[¸$Ð>Ñ	?ð2à˜‘ð2ð ˜,Ñ'ð2ð ˜%‘ð	2ð
 ˆ<˜ ™¨°dÐ:Ñ;ó2ðj €‡��T ¨dÔ3÷	&ð 	&ó 4ð	&ð:Øð:Ø7:ð:à	ó:÷HCñ HCôV{$�\õ {$øðM ò Ø
€CØƒJðús   Ã$
H
 È
	HÈH