§
    ïŽ’j£·  ã                  ó>  — d dl m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 d dlmZmZ ddlmZmZmZmZ ddlmZmZmZmZmZmZmZ ddl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' dd	l(m)Z) dd
l*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z;m<Z< g d¢Z=ddhZ> e
j?        d¦  «        Z@d.d„ZAd/d0d„ZBd/d1d„ZCd2d„ZDd3d!„ZEd4d%„ZF G d&„ d'e
jG        eHeHf         ¦  «        ZI G d(„ d)¦  «        ZJ G d*„ d+¦  «        ZK G d,„ d-e
jG        eHeHf         ¦  «        ZLdS )5é    )ÚannotationsN)ÚAsyncGeneratorÚMapping)ÚCookieÚ	CookieJaré   )Ú
ByteStreamÚUnattachedStreamÚencode_requestÚencode_response)ÚByteChunkerÚContentDecoderÚIdentityDecoderÚLineDecoderÚMultiDecoderÚTextChunkerÚTextDecoder)ÚCookieConflictÚHTTPStatusErrorÚRequestNotReadÚResponseNotReadÚStreamClosedÚStreamConsumedÚrequest_context)Ú(get_multipart_boundary_from_content_type)Úcodes)ÚAsyncByteStreamÚCookieTypesÚHeaderTypesÚQueryParamTypesÚRequestContentÚRequestDataÚRequestExtensionsÚRequestFilesÚResponseContentÚResponseExtensionsÚSyncByteStream)ÚURL)Úto_bytes_or_strÚto_str)ÚCookiesÚHeadersÚRequestÚResponseÚauthorizationzproxy-authorizationÚ_TÚencodingÚstrÚreturnÚboolc                óT   — 	 t          j        | ¦  «         n# t          $ r Y dS w xY wdS )z7
    Return `True` if `encoding` is a known codec.
    FT)ÚcodecsÚlookupÚLookupError©r1   s    ú<C:\Projects\DSCons\.venv\Lib\site-packages\httpx2\_models.pyÚ_is_known_encodingr;   :   sA   € ðÝŒ�hÑÔÐÐøÝð ð ð Øˆuˆuðøøøàˆ4s   ‚ —
%¤%Úkeyústr | bytesú
str | NoneÚbytesc                ó^   — t          | t          ¦  «        r| n|                      |pd¦  «        S )zE
    Coerce str/bytes into a strictly byte-wise HTTP header key.
    Úascii)Ú
isinstancer?   Úencode)r<   r1   s     r:   Ú_normalize_header_keyrD   E   s.   € õ ˜S¥%Ñ(Ô(ÐMˆ3ˆ3¨c¯jªj¸Ð9LÀWÑ.MÔ.MÐMó    Úvaluec                óÆ   — t          | t          ¦  «        r| S t          | t          ¦  «        st          dt	          | ¦  «        › �¦  «        ‚|                      |pd¦  «        S )zG
    Coerce str/bytes into a strictly byte-wise HTTP header value.
    z'Header value must be str or bytes, not rA   )rB   r?   r2   Ú	TypeErrorÚtyperC   )rF   r1   s     r:   Ú_normalize_header_valuerJ   L   sb   € õ �%�ÑÔð ØˆÝ�e�SÑ!Ô!ð QÝÐOÅ$ÀuÁ+Ä+ÐOÐOÑPÔPÐPØ�<Š<˜Ð+ GÑ,Ô,Ð,rE   Úcontent_typec                ót   — t           j                             ¦   «         }| |d<   |                     d ¬¦  «        S )Núcontent-type)Úfailobj)ÚemailÚmessageÚMessageÚget_content_charset)rK   Úmsgs     r:   Ú_parse_content_type_charsetrT   W   s8   € õ Œ-×
Ò
Ñ
!Ô
!€CØ&€CˆÑØ×"Ò"¨4Ð"Ñ0Ô0Ð0rE   úlist[dict[str, str]]c                ó  — g }d}|                       |¦  «        } | s|S t          j        d| ¦  «        D ]Ë}	 |                     dd¦  «        \  }}n# t          $ r |d}}Y nw xY wd|                      d¦  «        i}|                     d¦  «        D ]X}	 |                     d¦  «        \  }} n# t          $ r Y  n0w xY w|                       |¦  «        ||                      |¦  «        <   ŒY|                     |¦  «         ŒÌ|S )	a7  
    Returns a list of parsed link headers, for more info see:
    https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Link
    The generic syntax of those is:
    Link: < uri-reference >; param1=value1; param2="value2"
    So for instance:
    Link; '<http:/.../front.jpeg>; type="image/jpeg",<http://.../back.jpeg>;'
    would return
        [
            {"url": "http:/.../front.jpeg", "type": "image/jpeg"},
            {"url": "http://.../back.jpeg"},
        ]
    :param value: HTTP Link entity-header field
    :return: list of parsed link headers
    z '"z, *<ú;r   Ú Úurlz<> '"ú=)ÚstripÚreÚsplitÚ
ValueErrorÚappend)	rF   ÚlinksÚreplace_charsÚvalrY   ÚparamsÚlinkÚparamr<   s	            r:   Ú_parse_header_linksrf   _   s=  € ð  #%€EØ€MØ�KŠK˜Ñ&Ô&€EØð ØˆÝŒx˜ Ñ&Ô&ð ð ˆð	"ØŸ)š) C¨Ñ+Ô+‰KˆC��øÝð 	"ð 	"ð 	"Ø˜r�ˆCˆCˆCð	"øøøà�s—y’y Ñ*Ô*Ð+ˆØ—\’\ #Ñ&Ô&ð 	Hð 	HˆEðØ"Ÿ[š[¨Ñ-Ô-‘
��U�UøÝð ð ð Ø��ðøøøà-2¯[ª[¸Ñ-GÔ-GˆD�—’˜=Ñ)Ô)Ñ*Ð*Ø�Š�TÑÔÐÐØ€Ls#   ¶AÁA!Á A!ÂB,Â,
B:Â9B:Úitemsú4typing.Iterable[tuple[typing.AnyStr, typing.AnyStr]]ú4typing.Iterator[tuple[typing.AnyStr, typing.AnyStr]]c              #  ó˜   K  — | D ]D\  }}t          |                     ¦   «         ¦  «        t          v rt          d|¬¦  «        }||fV — ŒEd S )Nz[secure])Úmatch_type_of)r*   ÚlowerÚSENSITIVE_HEADERSr)   )rg   ÚkÚvs      r:   Ú_obfuscate_sensitive_headersrp   „   sb   è è € ð ð ð ‰ˆˆ1Ý�!—'’'‘)”)ÑÔÕ 1Ð1Ð1Ý 
¸!Ð<Ñ<Ô<ˆAØ�ˆdˆ
ˆ
ˆ
ˆ
ðð rE   c                  óT  — e Zd ZdZ	 	 d9d:d	„Zed;d„¦   «         Zej        d<d„¦   «         Zed=d„¦   «         Zd>d„Z	d?d„Z
d@d„ZdAd„Zej        dBd„¦   «         Zej        dCd„¦   «         ZdDdEd „ZdFdGd%„ZdDdHd&„ZdId'„ZdJd*„ZdJd+„ZdKd-„ZdLd.„ZdMd/„ZdNd0„ZdOd2„ZdPd4„ZdQd6„ZdRd7„Zd;d8„ZdS )Sr,   z9
    HTTP headers, as a case-insensitive multi-dict.
    NÚheadersúHeaderTypes | Noner1   r>   r3   ÚNonec                ó0  — g | _         t          |t          ¦  «        rt          |j         ¦  «        | _         nØt          |t          ¦  «        rj|                     ¦   «         D ]T\  }}t          ||¦  «        }t          ||¦  «        }| j                              || 	                    ¦   «         |f¦  «         ŒUnY|�W|D ]T\  }}t          ||¦  «        }t          ||¦  «        }| j                              || 	                    ¦   «         |f¦  «         ŒU|| _
        d S ©N)Ú_listrB   r,   Úlistr   rg   rD   rJ   r_   rl   Ú	_encoding)Úselfrr   r1   rn   ro   Ú	bytes_keyÚbytes_values          r:   Ú__init__zHeaders.__init__’   s  € ð
 8:ˆŒ
å�g�wÑ'Ô'ð 	OÝ˜gœmÑ,Ô,ˆDŒJˆJÝ˜¥Ñ)Ô)ð 		OØŸš™œð Oð O‘��1Ý1°!°XÑ>Ô>�	Ý5°a¸ÑBÔB�Ø”
×!Ò! 9¨i¯oªoÑ.?Ô.?ÀÐ"MÑNÔNÐNÐNðOð Ð Øð Oð O‘��1Ý1°!°XÑ>Ô>�	Ý5°a¸ÑBÔB�Ø”
×!Ò! 9¨i¯oªoÑ.?Ô.?ÀÐ"MÑNÔNÐNÐNà!ˆŒˆˆrE   r2   c                óÚ   — | j         €^dD ]T}| j        D ]A\  }}	 |                     |¦  «         |                     |¦  «         Œ1# t          $ r Y  nw xY w|| _          nŒUd| _         | j         S )zn
        Header encoding is mandated as ascii, but we allow fallbacks to utf-8
        or iso-8859-1.
        N)rA   úutf-8z
iso-8859-1)ry   ÚrawÚdecodeÚUnicodeDecodeError)rz   r1   r<   rF   s       r:   r1   zHeaders.encoding¨   s¢   € ð Œ>Ð!Ø.ð .ð .�Ø"&¤(ð 
ð 
‘J�C˜ðØŸ
š
 8Ñ,Ô,Ð,ØŸš XÑ.Ô.Ð.Ð.øÝ-ð ð ð Ø˜˜ðøøøð
 &.�D”NØ�Eð ð ".�”ØŒ~Ðs   ™*AÁ
AÁArF   c                ó   — || _         d S rv   )ry   ©rz   rF   s     r:   r1   zHeaders.encodingÁ   s   € àˆŒˆˆrE   úlist[tuple[bytes, bytes]]c                ó$   — d„ | j         D ¦   «         S )zH
        Returns a list of the raw header items, as byte pairs.
        c                ó   — g | ]
\  }}}||f‘ŒS © rˆ   )Ú.0Úraw_keyÚ_rF   s       r:   ú
<listcomp>zHeaders.raw.<locals>.<listcomp>Ê   s$   € ÐEÐEÐEÑ%6 W¨a°�˜%Ð ÐEÐEÐErE   ©rw   ©rz   s    r:   r€   zHeaders.rawÅ   s   € ð
 FÐE¸$¼*ÐEÑEÔEÐErE   útyping.KeysView[str]c                óN   ‡ — ˆ fd„‰ j         D ¦   «                              ¦   «         S )Nc                óN   •— i | ]!\  }}}|                      ‰j        ¦  «        d “Œ"S rv   ©r�   r1   )r‰   r‹   r<   Ú_valuerz   s       €r:   ú
<dictcomp>z Headers.keys.<locals>.<dictcomp>Í   s/   ø€ ÐQÐQÐQ±N°A°s¸F�—
’
˜4œ=Ñ)Ô)¨4ÐQÐQÐQrE   )rw   ÚkeysrŽ   s   `r:   r•   zHeaders.keysÌ   s+   ø€ ØQÐQÐQÐQÀdÄjÐQÑQÔQ×VÒVÑXÔXÐXrE   útyping.ValuesView[str]c                óì   — i }| j         D ]W\  }}}|                     | j        ¦  «        }|                     | j        ¦  «        }||v r||xx         d|› �z  cc<   ŒR|||<   ŒX|                     ¦   «         S )Nú, )rw   r�   r1   Úvalues©rz   Úvalues_dictr‹   r<   rF   Ústr_keyÚ	str_values          r:   r™   zHeaders.valuesÏ   s–   € Ø&(ˆØ!œZð 	1ð 	1‰MˆAˆs�EØ—j’j ¤Ñ/Ô/ˆGØŸš T¤]Ñ3Ô3ˆIØ˜+Ð%Ð%Ø˜GÐ$Ð$Ô$Ð(8¨YÐ(8Ð(8Ñ8Ð$Ð$Ñ$Ð$à'0�˜GÑ$Ð$Ø×!Ò!Ñ#Ô#Ð#rE   útyping.ItemsView[str, str]c                óì   — i }| j         D ]W\  }}}|                     | j        ¦  «        }|                     | j        ¦  «        }||v r||xx         d|› �z  cc<   ŒR|||<   ŒX|                     ¦   «         S )z›
        Return `(key, value)` items of headers. Concatenate headers
        into a single comma separated value when a key occurs multiple times.
        r˜   )rw   r�   r1   rg   rš   s          r:   rg   zHeaders.itemsÚ   s˜   € ð
 ')ˆØ!œZð 	1ð 	1‰MˆAˆs�EØ—j’j ¤Ñ/Ô/ˆGØŸš T¤]Ñ3Ô3ˆIØ˜+Ð%Ð%Ø˜GÐ$Ð$Ô$Ð(8¨YÐ(8Ð(8Ñ8Ð$Ð$Ñ$Ð$à'0�˜GÑ$Ð$Ø× Ò Ñ"Ô"Ð"rE   úlist[tuple[str, str]]c                ó*   ‡ — ˆ fd„‰ j         D ¦   «         S )z¹
        Return a list of `(key, value)` pairs of headers. Allow multiple
        occurrences of the same key without concatenating into a single
        comma separated value.
        c                ó€   •— g | ]:\  }}}|                      ‰j        ¦  «        |                      ‰j        ¦  «        f‘Œ;S rˆ   r’   )r‰   r‹   r<   rF   rz   s       €r:   rŒ   z'Headers.multi_items.<locals>.<listcomp>ï   sB   ø€ ÐiÐiÐiÉ]ÈQÐPSÐUZ�—’˜DœMÑ*Ô*¨E¯LªL¸¼Ñ,GÔ,GÐHÐiÐiÐirE   r�   rŽ   s   `r:   Úmulti_itemszHeaders.multi_itemsé   s$   ø€ ð jÐiÐiÐiÐ^bÔ^hÐiÑiÔiÐirE   r<   c               ó   — d S rv   rˆ   )rz   r<   s     r:   ÚgetzHeaders.getñ   s   € Ø.1¨crE   Údefaultr0   ústr | _Tc                ó   — d S rv   rˆ   ©rz   r<   r¦   s      r:   r¥   zHeaders.getô   s   € Ø69°crE   ú	_T | Noneústr | _T | Nonec                ó8   — 	 | |         S # t           $ r |cY S w xY w)zˆ
        Return a header value. If multiple occurrences of the header occur
        then concatenate them together with commas.
        )ÚKeyErrorr©   s      r:   r¥   zHeaders.get÷   s5   € ð
	Ø˜”9ÐøÝð 	ð 	ð 	ØˆNˆNˆNð	øøøs   ‚
 Š˜FÚsplit_commasr4   ú	list[str]c                ó  ‡ ‡— |                      ¦   «                              ‰ j        ¦  «        Šˆˆ fd„‰ j        D ¦   «         }|s|S g }|D ]4}|                     d„ |                     d¦  «        D ¦   «         ¦  «         Œ5|S )zÆ
        Return a list of all header values for a given key.
        If `split_commas=True` is passed, then any comma separated header
        values are split into multiple return strings.
        c                ó|   •— g | ]8\  }}}|                      ¦   «         ‰k    ¯|                     ‰j        ¦  «        ‘Œ9S rˆ   )rl   r�   r1   )r‰   r‹   Úitem_keyÚ
item_valueÚget_header_keyrz   s       €€r:   rŒ   z$Headers.get_list.<locals>.<listcomp>	  sN   ø€ ð 
ð 
ð 
á'��8˜ZØ�~Š~ÑÔ >Ò1Ð1ð ×Ò˜dœmÑ,Ô,à1Ð1Ð1rE   c                ó6   — g | ]}|                      ¦   «         ‘ŒS rˆ   )r[   )r‰   Úitems     r:   rŒ   z$Headers.get_list.<locals>.<listcomp>  s    € Ð KÐ KÐ K°$ §¢¡¤Ð KÐ KÐ KrE   ú,)rl   rC   r1   rw   Úextendr]   )rz   r<   r®   r™   Úsplit_valuesrF   r´   s   `     @r:   Úget_listzHeaders.get_list  s¯   øø€ ð Ÿš™œ×+Ò+¨D¬MÑ:Ô:ˆð
ð 
ð 
ð 
ð 
à+/¬:ð
ñ 
ô 
ˆð ð 	ØˆMà"$ˆØð 	Mð 	MˆEØ×ÒÐ KÐ K¸%¿+º+ÀcÑ:JÔ:JÐ KÑ KÔ KÑLÔLÐLÐLØÐrE   c                óÂ   — t          |¦  «        }|                     ¦   «         D ]}|| v r|                      |¦  «         Œ| j                             |j        ¦  «         d S rv   )r,   r•   Úpoprw   r¸   )rz   rr   r<   s      r:   ÚupdatezHeaders.update  s]   € Ý˜'Ñ"Ô"ˆØ—<’<‘>”>ð 	ð 	ˆCØ�dˆ{ˆ{Ø—’˜‘”�øØŒ
×Ò˜'œ-Ñ(Ô(Ð(Ð(Ð(rE   c                ó.   — t          | | j        ¬¦  «        S )Nr9   )r,   r1   rŽ   s    r:   ÚcopyzHeaders.copy  s   € Ý�t d¤mÐ4Ñ4Ô4Ð4rE   ÚotherúMapping[str, str]c                ó�   — t          |t          ¦  «        st          S |                      ¦   «         }|                     |¦  «         |S rv   )rB   r   ÚNotImplementedr¿   r½   ©rz   rÀ   Úmergeds      r:   Ú__or__zHeaders.__or__!  s>   € Ý˜%¥Ñ)Ô)ð 	"Ý!Ð!Ø—’‘”ˆØ�Š�eÑÔÐØˆrE   c                ó†   — t          |t          ¦  «        st          S t          |¦  «        }|                     | ¦  «         |S rv   )rB   r   rÃ   r,   r½   rÄ   s      r:   Ú__ror__zHeaders.__ror__(  s<   € Ý˜%¥Ñ)Ô)ð 	"Ý!Ð!Ý˜‘”ˆØ�Š�dÑÔÐØˆrE   r   c                ó0   — |                       |¦  «         | S rv   )r½   )rz   rÀ   s     r:   Ú__ior__zHeaders.__ior__/  s   € Ø�Š�EÑÔÐØˆrE   c                óÒ   ‡ ‡— |                      ¦   «                              ‰ j        ¦  «        Šˆˆ fd„‰ j        D ¦   «         }|rd                     |¦  «        S t          |¦  «        ‚)zÎ
        Return a single header value.

        If there are multiple headers with the same key, then we concatenate
        them with commas. See: https://tools.ietf.org/html/rfc7230#section-3.2.2
        c                óX   •— g | ]&\  }}}|‰k    ¯|                      ‰j        ¦  «        ‘Œ'S rˆ   r’   )r‰   r‹   Ú
header_keyÚheader_valueÚnormalized_keyrz   s       €€r:   rŒ   z'Headers.__getitem__.<locals>.<listcomp><  sD   ø€ ð 
ð 
ð 
á+��:˜|Ø˜^Ò+Ð+ð ×Ò ¤Ñ.Ô.à+Ð+Ð+rE   r˜   )rl   rC   r1   rw   Újoinr­   )rz   r<   rg   rÏ   s   `  @r:   Ú__getitem__zHeaders.__getitem__3  sz   øø€ ð Ÿš™œ×+Ò+¨D¬MÑ:Ô:ˆð
ð 
ð 
ð 
ð 
à/3¬zð
ñ 
ô 
ˆð ð 	$Ø—9’9˜UÑ#Ô#Ð#å�s‰mŒmÐrE   c                ó�  ‡— |                      | j        pd¦  «        }|                      | j        pd¦  «        }|                     ¦   «         Šˆfd„t          | j        ¦  «        D ¦   «         }t          |dd…         ¦  «        D ]
}| j        |= Œ|r|d         }|‰|f| j        |<   dS | j                             |‰|f¦  «         dS )zs
        Set the header `key` to `value`, removing any duplicate entries.
        Retains insertion order.
        r   c                ó.   •— g | ]\  }\  }}}|‰k    ¯|‘ŒS rˆ   rˆ   )r‰   Úidxr‹   r²   Ú
lookup_keys       €r:   rŒ   z'Headers.__setitem__.<locals>.<listcomp>P  s1   ø€ ÐjÐjÐjÑ!6 Ñ&6 q¨(°AÐS[Ð_iÒSiÐSi˜ÐSiÐSiÐSirE   r   Nr   )rC   ry   rl   Ú	enumeraterw   Úreversedr_   )rz   r<   rF   Úset_keyÚ	set_valueÚfound_indexesrÔ   rÕ   s          @r:   Ú__setitem__zHeaders.__setitem__G  sÜ   ø€ ð
 —*’*˜Tœ^Ð6¨wÑ7Ô7ˆØ—L’L ¤Ð!:°7Ñ;Ô;ˆ	Ø—]’]‘_”_ˆ
àjÐjÐjÐj½)ÀDÄJÑ:OÔ:OÐjÑjÔjˆå˜M¨!¨"¨"Ô-Ñ.Ô.ð 	 ð 	 ˆCØ”
˜3��àð 	@Ø Ô"ˆCØ&¨
°IÐ>ˆDŒJ�s‰OˆOˆOàŒJ×Ò˜w¨
°IÐ>Ñ?Ô?Ð?Ð?Ð?rE   c                óö   ‡— |                      ¦   «                              | j        ¦  «        Šˆfd„t          | j        ¦  «        D ¦   «         }|st          |¦  «        ‚t          |¦  «        D ]
}| j        |= ŒdS )z*
        Remove the header `key`.
        c                óR   •— g | ]#\  }\  }}}|                      ¦   «         ‰k    ¯!|‘Œ$S rˆ   )rl   )r‰   rÔ   r‹   r²   Údel_keys       €r:   rŒ   z'Headers.__delitem__.<locals>.<listcomp>a  s=   ø€ ÐmÐmÐmÑ4˜sÑ$4 Q¨°!ÐQY×Q_ÒQ_ÑQaÔQaÐelÒQlÐQl�sÐQlÐQlÐQlrE   N)rl   rC   r1   rÖ   rw   r­   r×   )rz   r<   Úpop_indexesrÔ   rÞ   s       @r:   Ú__delitem__zHeaders.__delitem__[  s…   ø€ ð —)’)‘+”+×$Ò$ T¤]Ñ3Ô3ˆàmÐmÐmÐm½	À$Ä*Ñ8MÔ8MÐmÑmÔmˆàð 	 Ý˜3‘-”-Ðå˜KÑ(Ô(ð 	 ð 	 ˆCØ”
˜3��ð	 ð 	 rE   ú
typing.Anyc                ó€   — |                      ¦   «                              | j        ¦  «        }|d„ | j        D ¦   «         v S )Nc                ó   — g | ]\  }}}|‘Œ	S rˆ   rˆ   )r‰   r‹   r<   s      r:   rŒ   z(Headers.__contains__.<locals>.<listcomp>k  s   € Ð>Ð>Ð>¡i a¨¨a˜cÐ>Ð>Ð>rE   )rl   rC   r1   rw   )rz   r<   rÍ   s      r:   Ú__contains__zHeaders.__contains__i  s;   € Ø—Y’Y‘[”[×'Ò'¨¬Ñ6Ô6ˆ
ØÐ>Ð>°4´:Ð>Ñ>Ô>Ð>Ð>rE   útyping.Iterator[typing.Any]c                óD   — t          |                      ¦   «         ¦  «        S rv   )Úiterr•   rŽ   s    r:   Ú__iter__zHeaders.__iter__m  s   € Ý�D—I’I‘K”KÑ Ô Ð rE   Úintc                ó*   — t          | j        ¦  «        S rv   )Úlenrw   rŽ   s    r:   Ú__len__zHeaders.__len__p  s   € Ý�4”:‰ŒÐrE   c                óÊ   — 	 t          |¦  «        }n# t          $ r Y dS w xY wd„ | j        D ¦   «         }d„ |j        D ¦   «         }t          |¦  «        t          |¦  «        k    S )NFc                ó   — g | ]
\  }}}||f‘ŒS rˆ   rˆ   ©r‰   r‹   r<   rF   s       r:   rŒ   z"Headers.__eq__.<locals>.<listcomp>y  s"   € ÐBÐBÐB¡m a¨¨e�c˜5�\ÐBÐBÐBrE   c                ó   — g | ]
\  }}}||f‘ŒS rˆ   rˆ   rï   s       r:   rŒ   z"Headers.__eq__.<locals>.<listcomp>z  s"   € ÐLÐLÐL¡} q¨#¨u�s˜E�lÐLÐLÐLrE   )r,   r^   rw   Úsorted)rz   rÀ   Úother_headersÚ	self_listÚ
other_lists        r:   Ú__eq__zHeaders.__eq__s  s   € ð	Ý# E™NœNˆMˆMøÝð 	ð 	ð 	Ø�5�5ð	øøøð CÐB°t´zÐBÑBÔBˆ	ØLÐL¸Ô8KÐLÑLÔLˆ
Ý�iÑ Ô ¥F¨:Ñ$6Ô$6Ò6Ð6s   ‚ ’
 Ÿ c                ó.  — | j         j        }d}| j        dk    r
d| j        ›�}t          t	          |                      ¦   «         ¦  «        ¦  «        }t          |¦  «        }t          |¦  «        t          |¦  «        k    }|r
|› d|›|› d�S |› d|›|› d�S )NrX   rA   z, encoding=ú(ú))Ú	__class__Ú__name__r1   rx   rp   r£   Údictrë   )rz   Ú
class_nameÚencoding_strÚas_listÚas_dictÚno_duplicate_keyss         r:   Ú__repr__zHeaders.__repr__}  s±   € Ø”^Ô,ˆ
àˆØŒ=˜GÒ#Ð#Ø:¨¬Ð:Ð:ˆLåÕ3°D×4DÒ4DÑ4FÔ4FÑGÔGÑHÔHˆÝ�w‘-”-ˆå ™LœL­C°©L¬LÒ8ÐØð 	>Ø Ð=Ð= 7Ð=¨lÐ=Ð=Ð=Ð=ØÐ9Ð9˜wÐ9¨,Ð9Ð9Ð9Ð9rE   ©NN)rr   rs   r1   r>   r3   rt   ©r3   r2   ©rF   r2   r3   rt   )r3   r…   )r3   r�   )r3   r–   )r3   rž   )r3   r    )r<   r2   r3   r>   )r<   r2   r¦   r0   r3   r§   rv   )r<   r2   r¦   rª   r3   r«   )F)r<   r2   r®   r4   r3   r¯   )rr   rs   r3   rt   )r3   r,   )rÀ   rÁ   r3   r,   )rÀ   r   r3   r,   )r<   r2   r3   r2   )r<   r2   rF   r2   r3   rt   )r<   r2   r3   rt   )r<   rá   r3   r4   )r3   rå   ©r3   ré   )rÀ   rá   r3   r4   )rú   Ú
__module__Ú__qualname__Ú__doc__r}   Úpropertyr1   Úsetterr€   r•   r™   rg   r£   ÚtypingÚoverloadr¥   rº   r½   r¿   rÆ   rÈ   rÊ   rÑ   rÛ   rà   rä   rè   rì   rõ   r  rˆ   rE   r:   r,   r,   �   sn  € € € € € ðð ð '+Ø#ð"ð "ð "ð "ð "ð, ðð ð ñ „Xðð0 „_ðð ð ñ „_ðð ðFð Fð Fñ „XðFðYð Yð Yð Yð	$ð 	$ð 	$ð 	$ð#ð #ð #ð #ðjð jð jð jð „_Ø1Ð1Ð1ñ „_Ø1à„_Ø9Ð9Ð9ñ „_Ø9ðð ð ð ð ðð ð ð ð ð,)ð )ð )ð )ð )ð5ð 5ð 5ð 5ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð(@ð @ð @ð @ð( ð  ð  ð  ð?ð ?ð ?ð ?ð!ð !ð !ð !ðð ð ð ð7ð 7ð 7ð 7ð:ð :ð :ð :ð :ð :rE   r,   c            
      ót   — e Zd Zddddddddddœ	d(d„Zd)d„Zed*d „¦   «         Zd*d!„Zd*d"„Zd+d#„Z	d,d%„Z
d-d'„ZdS ).r-   N)	rc   rr   ÚcookiesÚcontentÚdataÚfilesÚjsonÚstreamÚ
extensionsÚmethodr2   rY   ú	URL | strrc   úQueryParamTypes | Nonerr   rs   r  úCookieTypes | Noner  úRequestContent | Noner  úRequestData | Noner  úRequestFiles | Noner  útyping.Any | Noner  ú'SyncByteStream | AsyncByteStream | Noner  úRequestExtensions | Noner3   rt   c       	        óŠ  — |                      ¦   «         | _        |€t          |¦  «        nt          ||¬¦  «        | _        t	          |¦  «        | _        |€i nt          |¦  «        | _        |r"t          |¦  «         	                    | ¦  «         |
€©| j         
                    d¦  «        }t          ||||	t          |r|                     | j        j        ¦  «        nd ¬¦  «        ¬¦  «        \  }}
|                      |¦  «         |
| _        t#          |
t$          ¦  «        r|                      ¦   «          d S d S |
| _        d S )N)rc   rM   )rK   )r  r  r  r  Úboundary)Úupperr  r(   rY   r,   rr   rû   r  r+   Úset_cookie_headerr¥   r   r   rC   r1   Ú_preparer  rB   r	   Úread)rz   r  rY   rc   rr   r  r  r  r  r  r  r  rK   s                r:   r}   zRequest.__init__Ž  sF  € ð —l’l‘n”nˆŒØ%˜~•3�s‘8”8�8µ3°sÀ6Ð3JÑ3JÔ3JˆŒÝ˜wÑ'Ô'ˆŒØ *Ð 2˜"˜"½¸ZÑ8HÔ8HˆŒàð 	5Ý�GÑÔ×.Ò.¨tÑ4Ô4Ð4àˆ>Ø'+¤|×'7Ò'7¸Ñ'GÔ'GˆLÝ,ØØØØÝAØO[Ð!e ×!4Ò!4°T´\Ô5JÑ!KÔ!KÐ!KÐaeðñ ô ðñ ô ‰OˆG�Vð �MŠM˜'Ñ"Ô"Ð"Ø ˆDŒKå˜&¥*Ñ-Ô-ð Ø—	’	‘”���ðð ð" !ˆDŒKˆKˆKrE   Údefault_headersúdict[str, str]c                ó  — |                      ¦   «         D ]d\  }}|                     ¦   «         dk    r
d| j        v rŒ'|                     ¦   «         dk    r
d| j        v rŒI| j                             ||¦  «         Œeg }d| j        v }d| j        v pd| j        v }|s-| j        j        r!|                     d| j        j        f¦  «         |s| j        dv r|                     d¦  «         t          || j        j
        z   ¦  «        | _        d S )	Núcontent-lengthzTransfer-Encodingútransfer-encodingzContent-LengthÚHosts   Host)ÚPOSTÚPUTÚPATCHÚQUERY)s   Content-Lengthó   0)rg   rl   rr   Ú
setdefaultrY   Úhostr_   Únetlocr  r,   r€   )rz   r%  r<   rF   Úauto_headersÚhas_hostÚhas_content_lengths          r:   r#  zRequest._prepareÆ  s(  € Ø)×/Ò/Ñ1Ô1ð 	0ð 	0‰JˆC�à�yŠy‰{Œ{Ð.Ò.Ð.Ð3FÈ$Ì,Ð3VÐ3VØà�yŠy‰{Œ{Ð1Ò1Ð1Ð6FÈ$Ì,Ð6VÐ6VØØŒL×#Ò# C¨Ñ/Ô/Ð/Ð/à24ˆà˜Tœ\Ð)ˆØ-°´Ð=ÐdÐATÐX\ÔXdÐAdÐàð 	<˜DœHœMð 	<Ø×Ò ¨$¬(¬/Ð :Ñ;Ô;Ð;Ø!ð 	; d¤kÐ5VÐ&VÐ&VØ×ÒÐ 9Ñ:Ô:Ð:å˜|¨d¬lÔ.>Ñ>Ñ?Ô?ˆŒˆˆrE   r?   c                óL   — t          | d¦  «        st          ¦   «         ‚| j        S ©NÚ_content)Úhasattrr   r8  rŽ   s    r:   r  zRequest.contentÜ  s(   € å�t˜ZÑ(Ô(ð 	#Ý Ñ"Ô"Ð"ØŒ}ÐrE   c                ó  — t          | d¦  «        sst          | j        t          j        ¦  «        sJ ‚d                     | j        ¦  «        | _        t          | j        t          ¦  «        st          | j        ¦  «        | _        | j        S )ú6
        Read and return the request content.
        r8  rE   )r9  rB   r  r  ÚIterablerÐ   r8  r	   rŽ   s    r:   r$  zRequest.readâ  st   € õ �t˜ZÑ(Ô(ð 	8Ý˜dœk­6¬?Ñ;Ô;Ð;Ð;Ð;ØŸHšH T¤[Ñ1Ô1ˆDŒMÝ˜dœk­:Ñ6Ô6ð 8õ )¨¬Ñ7Ô7�”ØŒ}ÐrE   c              ƒ  ó:  K  — t          | d¦  «        sƒt          | j        t          j        ¦  «        sJ ‚d                     d„ | j        2 ¦   «         ƒ d{V —†¦  «        | _        t          | j        t          ¦  «        st          | j        ¦  «        | _        | j        S )r;  r8  rE   c              “  ó"   K  — g | 3 d {V —†}|‘Œ
6 S rv   rˆ   ©r‰   Úparts     r:   rŒ   z!Request.aread.<locals>.<listcomp>ö  s.   è è € Ð%IÐ%IÐ%IÐ%IÐ%IÐ%IÐ%IÐ%I°T dÐ%IÐ%IÐ%IÐ%Ió   …N)r9  rB   r  r  ÚAsyncIterablerÐ   r8  r	   rŽ   s    r:   ÚareadzRequest.areadð  sš   è è € õ �t˜ZÑ(Ô(ð 	8Ý˜dœk­6Ô+?Ñ@Ô@Ð@Ð@Ð@ØŸHšHÐ%IÐ%I¸T¼[Ð%IÑ%IÔ%IÐ%IÐ%IÐ%IÐ%IÐ%IÐ%IÑJÔJˆDŒMÝ˜dœk­:Ñ6Ô6ð 8õ )¨¬Ñ7Ô7�”ØŒ}ÐrE   c                ód   — | j         j        }t          | j        ¦  «        }d|› d| j        ›d|›d�S )Nú<r÷   r˜   z)>)rù   rú   r2   rY   r  )rz   rü   rY   s      r:   r  zRequest.__repr__þ  s<   € Ø”^Ô,ˆ
Ý�$”(‰mŒmˆØ:�:Ð:Ð: ¤Ð:Ð:°Ð:Ð:Ð:Ð:rE   údict[str, typing.Any]c                óH   — d„ | j                              ¦   «         D ¦   «         S )Nc                ó"   — i | ]\  }}|d v¯	||“ŒS ))r  r  rˆ   ©r‰   ÚnamerF   s      r:   r”   z(Request.__getstate__.<locals>.<dictcomp>  s)   € ÐmÐmÐm¡  eÈÐTlÐHlÐHl��eÐHlÐHlÐHlrE   ©Ú__dict__rg   rŽ   s    r:   Ú__getstate__zRequest.__getstate__  s$   € ØmÐm¨t¬}×/BÒ/BÑ/DÔ/DÐmÑmÔmÐmrE   Ústatec                ó�   — |                      ¦   «         D ]\  }}t          | ||¦  «         Œi | _        t          ¦   «         | _        d S rv   )rg   Úsetattrr  r
   r  ©rz   rN  rJ  rF   s       r:   Ú__setstate__zRequest.__setstate__  sJ   € Ø Ÿ;š;™=œ=ð 	'ð 	'‰KˆD�%Ý�D˜$ Ñ&Ô&Ð&Ð&ØˆŒÝ&Ñ(Ô(ˆŒˆˆrE   )r  r2   rY   r  rc   r  rr   rs   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r3   rt   ©r%  r&  r3   rt   ©r3   r?   r  ©r3   rF  ©rN  rF  r3   rt   )rú   r  r  r}   r#  r	  r  r$  rC  r  rM  rR  rˆ   rE   r:   r-   r-   �  sð   € € € € € ð *.Ø&*Ø&*Ø)-Ø#'Ø%)Ø"&Ø:>Ø/3ð6!ð 6!ð 6!ð 6!ð 6!ð 6!ðp@ð @ð @ð @ð, ðð ð ñ „Xðð
ð ð ð ðð ð ð ð;ð ;ð ;ð ;ð
nð nð nð nð)ð )ð )ð )ð )ð )rE   r-   c                  ó   — e Zd Zdddddddddddœ
d[d„Zd\d„Zed]d „¦   «         Zej        d^d"„¦   «         Zed_d$„¦   «         Zej        d`d&„¦   «         Zedad(„¦   «         Z	edad)„¦   «         Z
edbd+„¦   «         Zedcd-„¦   «         Zedad.„¦   «         Zeddd/„¦   «         Zej        ded0„¦   «         Zeddd1„¦   «         Zdfd3„Zedgd5„¦   «         Zedgd6„¦   «         Zedgd7„¦   «         Zedgd8„¦   «         Zedgd9„¦   «         Zedgd:„¦   «         Zedgd;„¦   «         Zdhd<„Zdid>„Zedjd@„¦   «         ZedkdB„¦   «         ZedldC„¦   «         ZdadD„ZdmdF„ZdndH„ZdcdI„Z dodpdM„Z!dodqdO„Z"drdP„Z#dodpdQ„Z$dsdR„Z%dcdS„Z&dodtdU„Z'dodudW„Z(dvdX„Z)dodtdY„Z*dsdZ„Z+dS )wr.   Nr   )
rr   r  ÚtextÚhtmlr  r  Úrequestr  ÚhistoryÚdefault_encodingÚstatus_coderé   rr   rs   r  úResponseContent | NonerX  r>   rY  r  rá   r  r  rZ  úRequest | Noner  úResponseExtensions | Noner[  úlist[Response] | Noner\  ú*str | typing.Callable[[bytes], str | None]r3   rt   c       
        ó¸  — || _         t          |¦  «        | _        || _        d | _        |	€i nt          |	¦  «        | _        |
€g nt          |
¦  «        | _        d| _	        d| _
        || _        |€[t          ||||¦  «        \  }}|                      |¦  «         || _        t          |t           ¦  «        r|                      ¦   «          n|| _        d| _        d S )NFr   )r]  r,   rr   Ú_requestÚnext_requestrû   r  rx   r[  Ú	is_closedÚis_stream_consumedr\  r   r#  r  rB   r	   r$  Ú_num_bytes_downloaded)rz   r]  rr   r  rX  rY  r  r  rZ  r  r[  r\  s               r:   r}   zResponse.__init__  sÜ   € ð 'ˆÔÝ˜wÑ'Ô'ˆŒà(/ˆŒð -1ˆÔà *Ð 2˜"˜"½¸ZÑ8HÔ8HˆŒØ$˜_�r�rµ$°w±-´-ˆŒàˆŒØ"'ˆÔà 0ˆÔàˆ>Ý-¨g°t¸TÀ4ÑHÔH‰OˆG�VØ�MŠM˜'Ñ"Ô"Ð"Ø ˆDŒKÝ˜&¥*Ñ-Ô-ð à—	’	‘”�øð !ˆDŒKà%&ˆÔ"Ð"Ð"rE   r%  r&  c                ó´   — |                      ¦   «         D ]B\  }}|                     ¦   «         dk    r
d| j        v rŒ'| j                             ||¦  «         ŒCd S )Nr)  r(  )rg   rl   rr   r0  )rz   r%  r<   rF   s       r:   r#  zResponse._prepareE  sj   € Ø)×/Ò/Ñ1Ô1ð 	0ð 	0‰JˆC�à�yŠy‰{Œ{Ð1Ò1Ð1Ð6FÈ$Ì,Ð6VÐ6VØØŒL×#Ò# C¨Ñ/Ô/Ð/Ð/ð		0ð 	0rE   údatetime.timedeltac                ó‚   — t          | d¦  «        s)t          | j        dd¦  «        }|�|S t          d¦  «        ‚| j        S )ze
        Returns the time taken for the complete request/response
        cycle to complete.
        Ú_elapsedÚelapsedNzK'.elapsed' may only be accessed after the response has been read or closed.)r9  Úgetattrr  ÚRuntimeErrorrl  )rz   Ústream_elapseds     r:   rm  zResponse.elapsedL  sN   € õ �t˜ZÑ(Ô(ð 	nÝ8?ÀÄÈYÐX\Ñ8]Ô8]ˆNØÐ)Ø%Ð%ÝÐlÑmÔmÐmØŒ}ÐrE   rm  c                ó   — || _         d S rv   )rl  )rz   rm  s     r:   rm  zResponse.elapsedY  s   € àˆŒˆˆrE   r-   c                ó<   — | j         €t          d¦  «        ‚| j         S )zR
        Returns the request instance associated to the current response.
        Nz7The request instance has not been set on this response.)rd  ro  rŽ   s    r:   rZ  zResponse.request]  s#   € ð
 Œ=Ð ÝÐXÑYÔYÐYØŒ}ÐrE   rF   c                ó   — || _         d S rv   )rd  r„   s     r:   rZ  zResponse.requestf  s   € àˆŒˆˆrE   r2   c                ón   — 	 | j         d         }|                     dd¬¦  «        S # t          $ r Y dS w xY w)NÚhttp_versionrA   Úignore©ÚerrorszHTTP/1.1)r  r�   r­   )rz   ru  s     r:   ru  zResponse.http_versionj  sS   € ð	AØ"&¤/°.Ô"AˆLð  ×&Ò& w°xÐ&Ñ@Ô@Ð@øõ ð 	ð 	ð 	Ø�:�:ð	øøøs   ‚& ¦
4³4c                óž   — 	 | j         d         }|                     dd¬¦  «        S # t          $ r t          j        | j        ¦  «        cY S w xY w)NÚreason_phraserA   rv  rw  )r  r�   r­   r   Úget_reason_phraser]  )rz   rz  s     r:   rz  zResponse.reason_phrases  sf   € ð	BØ#'¤?°?Ô#CˆMð !×'Ò'¨¸Ð'ÑAÔAÐAøõ ð 	=ð 	=ð 	=ÝÔ*¨4Ô+;Ñ<Ô<Ð<Ð<Ð<ð	=øøøs   ‚& ¦#AÁAr(   c                ó   — | j         j        S )zA
        Returns the URL for which the request was made.
        )rZ  rY   rŽ   s    r:   rY   zResponse.url|  s   € ð
 Œ|ÔÐrE   r?   c                óL   — t          | d¦  «        st          ¦   «         ‚| j        S r7  )r9  r   r8  rŽ   s    r:   r  zResponse.contentƒ  s(   € å�t˜ZÑ(Ô(ð 	$Ý!Ñ#Ô#Ð#ØŒ}ÐrE   c                ó  — t          | d¦  «        sn| j        }|sd| _        n]t          | j        pd¬¦  «        }d                     |                     | j        ¦  «        |                     ¦   «         g¦  «        | _        | j        S )NÚ_textrX   r   r9   )r9  r  r  r   r1   rÐ   r�   Úflush)rz   r  Údecoders      r:   rX  zResponse.text‰  s{   € å�t˜WÑ%Ô%ð 	VØ”lˆGØð VØ�”
�
å%¨t¬}Ð/GÀÐHÑHÔH�ØŸWšW g§n¢n°T´\Ñ&BÔ&BÀGÇMÂMÁOÄOÐ%TÑUÔU�”
ØŒzÐrE   c                ó
  — t          | d¦  «        sm| j        }|�t          |¦  «        sLt          | j        t
          ¦  «        r| j        }n*t          | d¦  «        r|                      | j        ¦  «        }|pd| _        | j        S )aï  
        Return an encoding to use for decoding the byte content into text.
        The priority for determining this is given by...

        * `.encoding = <>` has been set explicitly.
        * The encoding as specified by the charset parameter in the Content-Type header.
        * The encoding as determined by `default_encoding`, which may either be
          a string like "utf-8" indicating the encoding to use, or may be a callable
          which enables charset autodetection.
        ry   Nr8  r   )r9  Úcharset_encodingr;   rB   r\  r2   r8  ry   )rz   r1   s     r:   r1   zResponse.encoding”  sŽ   € õ �t˜[Ñ)Ô)ð 	1ØÔ,ˆHØÐÕ'9¸(Ñ'CÔ'CÐÝ˜dÔ3µSÑ9Ô9ð DØ#Ô4�H�HÝ˜T :Ñ.Ô.ð DØ#×4Ò4°T´]ÑCÔC�HØ%Ð0¨ˆDŒNØŒ~ÐrE   c                óR   — t          | d¦  «        rt          d¦  «        ‚|| _        dS )zÆ
        Set the encoding to use for decoding the byte content into text.

        If the `text` attribute has been accessed, attempting to set the
        encoding will throw a ValueError.
        r  z?Setting encoding after `text` has been accessed is not allowed.N)r9  r^   ry   r„   s     r:   r1   zResponse.encodingª  s1   € õ �4˜Ñ!Ô!ð 	`ÝÐ^Ñ_Ô_Ð_ØˆŒˆˆrE   c                ó\   — | j                              d¦  «        }|€dS t          |¦  «        S )zO
        Return the encoding, as specified by the Content-Type header.
        zContent-TypeN)rr   r¥   rT   )rz   rK   s     r:   rƒ  zResponse.charset_encoding¶  s2   € ð
 ”|×'Ò'¨Ñ7Ô7ˆØÐØ�4å*¨<Ñ8Ô8Ð8rE   r   c                óL  — t          | d¦  «        sŽ| j                             dd¬¦  «        }d„ |D ¦   «         }t          d„ |D ¦   «         ¦  «        }t	          |j        ¦  «        dk    r|j        d         | _        n"|j        r|| _        nt          ¦   «         | _        | j        S )	zž
        Returns a decoder instance which can be used to decode the raw byte
        content, depending on the Content-Encoding used in the response.
        Ú_decoderzcontent-encodingT)r®   c                óZ   — g | ](}|                      ¦   «                              ¦   «         ‘Œ)S rˆ   )r[   rl   )r‰   rF   s     r:   rŒ   z1Response._get_content_decoder.<locals>.<listcomp>È  s,   € ÐCÐCÐC°5˜Ÿš™œ×,Ò,Ñ.Ô.ÐCÐCÐCrE   c                ó   — g | ]
}|d k    ¯|‘ŒS )Úidentityrˆ   )r‰   r1   s     r:   rŒ   z1Response._get_content_decoder.<locals>.<listcomp>É  s#   € Ð#aÐ#aÐ#a°È(ÐV`ÒJ`ÐJ` HÐJ`ÐJ`ÐJ`rE   r   r   )r9  rr   rº   r   rë   Úchildrenr‡  r   )rz   r™   Ú	encodingsr�  s       r:   Ú_get_content_decoderzResponse._get_content_decoderÁ  s°   € õ
 �t˜ZÑ(Ô(ð 		2Ø”\×*Ò*Ð+=ÈDÐ*ÑQÔQˆFØCÐC¸FÐCÑCÔCˆIÝ"Ð#aÐ#a¸YÐ#aÑ#aÔ#aÑbÔbˆGÝ�7Ô#Ñ$Ô$¨Ò)Ð)Ø 'Ô 0°Ô 3�”�ØÔ!ð 2Ø '�”�å /Ñ 1Ô 1�”àŒ}ÐrE   r4   c                ó4   — t          j        | j        ¦  «        S )zU
        A property which is `True` for 1xx status codes, `False` otherwise.
        )r   Úis_informationalr]  rŽ   s    r:   r�  zResponse.is_informationalÓ  s   € õ
 Ô% dÔ&6Ñ7Ô7Ð7rE   c                ó4   — t          j        | j        ¦  «        S )zU
        A property which is `True` for 2xx status codes, `False` otherwise.
        )r   Ú
is_successr]  rŽ   s    r:   r‘  zResponse.is_successÚ  s   € õ
 Ô Ô 0Ñ1Ô1Ð1rE   c                ó4   — t          j        | j        ¦  «        S )a  
        A property which is `True` for 3xx status codes, `False` otherwise.

        Note that not all responses with a 3xx status code indicate a URL redirect.

        Use `response.has_redirect_location` to determine responses with a properly
        formed URL redirection.
        )r   Úis_redirectr]  rŽ   s    r:   r“  zResponse.is_redirectá  s   € õ Ô  Ô!1Ñ2Ô2Ð2rE   c                ó4   — t          j        | j        ¦  «        S )zU
        A property which is `True` for 4xx status codes, `False` otherwise.
        )r   Úis_client_errorr]  rŽ   s    r:   r•  zResponse.is_client_errorí  ó   € õ
 Ô$ TÔ%5Ñ6Ô6Ð6rE   c                ó4   — t          j        | j        ¦  «        S )zU
        A property which is `True` for 5xx status codes, `False` otherwise.
        )r   Úis_server_errorr]  rŽ   s    r:   r˜  zResponse.is_server_errorô  r–  rE   c                ó4   — t          j        | j        ¦  «        S )z]
        A property which is `True` for 4xx and 5xx status codes, `False` otherwise.
        )r   Úis_errorr]  rŽ   s    r:   rš  zResponse.is_errorû  s   € õ
 Œ~˜dÔ.Ñ/Ô/Ð/rE   c                ó”   — | j         t          j        t          j        t          j        t          j        t          j        fv od| j        v S )zs
        Returns True for 3xx responses with a properly formed URL redirection,
        `False` otherwise.
        ÚLocation)r]  r   ÚMOVED_PERMANENTLYÚFOUNDÚ	SEE_OTHERÚTEMPORARY_REDIRECTÚPERMANENT_REDIRECTrr   rŽ   s    r:   Úhas_redirect_locationzResponse.has_redirect_location  sH   € ð Ôõ Ô'å”å”åÔ(åÔ(ððð +ð ˜dœlÐ*ð	
rE   c                óü   — | j         }|€t          d¦  «        ‚| j        r| S | j        rd}nd}| j        dz  }dddd	d
œ}|                     |d¦  «        }|                     | |¬¦  «        }t          ||| ¬¦  «        ‚)z>
        Raise the `HTTPStatusError` if one occurred.
        NzYCannot call `raise_for_status` as the request instance has not been set on this response.zÒ{error_type} '{0.status_code} {0.reason_phrase}' for url '{0.url}'
Redirect location: '{0.headers[location]}'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/{0.status_code}z§{error_type} '{0.status_code} {0.reason_phrase}' for url '{0.url}'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/{0.status_code}éd   zInformational responsezRedirect responsezClient errorzServer error)r   é   é   é   zInvalid status code)Ú
error_type)rZ  Úresponse)rd  ro  r‘  r¢  r]  r¥   Úformatr   )rz   rZ  rP   Ústatus_classÚerror_typesr¨  s         r:   Úraise_for_statuszResponse.raise_for_status  sÀ   € ð ”-ˆØˆ?ÝØkñô ð ð Œ?ð 	ØˆKàÔ%ð 
	ðwð ˆGðwð ð
 Ô'¨3Ñ.ˆà'Ø"ØØð	
ð 
ˆð !—_’_ \Ð3HÑIÔIˆ
Ø—.’. °*�.Ñ=Ô=ˆÝ˜g¨wÀÐFÑFÔFÐFrE   Úkwargsc                ó0   — t          j        | j        fi |¤ŽS rv   )ÚjsonlibÚloadsr  )rz   r®  s     r:   r  zResponse.json=  s   € ÝŒ}˜Tœ\Ð4Ð4¨VÐ4Ð4Ð4rE   r+   c                óŠ   — t          | d¦  «        s-t          ¦   «         | _        | j                             | ¦  «         | j        S )NÚ_cookies)r9  r+   r³  Úextract_cookiesrŽ   s    r:   r  zResponse.cookies@  s=   € å�t˜ZÑ(Ô(ð 	0Ý#™IœIˆDŒMØŒM×)Ò)¨$Ñ/Ô/Ð/ØŒ}ÐrE   ú dict[str | None, dict[str, str]]c                óp   — | j                              d¦  «        }|€i S d„ t          |¦  «        D ¦   «         S )zI
        Returns the parsed header links of the response, if any
        rd   Nc                ód   — i | ]-}|                      d ¦  «        p|                      d¦  «        |“Œ.S )ÚrelrY   )r¥   )r‰   rd   s     r:   r”   z"Response.links.<locals>.<dictcomp>P  s3   € ÐcÐcÐc¸t�—’˜%‘”Ð3 D§H¢H¨U¡O¤O°dÐcÐcÐcrE   )rr   r¥   rf   )rz   Úheaders     r:   r`   zResponse.linksG  sA   € ð
 ”×!Ò! &Ñ)Ô)ˆØˆ>ØˆIàcÐcÕGZÐ[aÑGbÔGbÐcÑcÔcÐcrE   c                ó   — | j         S rv   )rh  rŽ   s    r:   Únum_bytes_downloadedzResponse.num_bytes_downloadedR  s   € àÔ)Ð)rE   c                ó(   — d| j         › d| j        › d�S )Nz<Response [ú ú]>)r]  rz  rŽ   s    r:   r  zResponse.__repr__V  s!   € ØF˜TÔ-ÐFÐF°Ô0BÐFÐFÐFÐFrE   rF  c                óH   — d„ | j                              ¦   «         D ¦   «         S )Nc                ó"   — i | ]\  }}|d v¯	||“ŒS ))r  r  rf  r‡  rˆ   rI  s      r:   r”   z)Response.__getstate__.<locals>.<dictcomp>Z  s4   € ð 
ð 
ð 
á��eØÐLÐLÐLð �%àLÐLÐLrE   rK  rŽ   s    r:   rM  zResponse.__getstate__Y  s1   € ð
ð 
à#œ}×2Ò2Ñ4Ô4ð
ñ 
ô 
ð 	
rE   rN  c                óž   — |                      ¦   «         D ]\  }}t          | ||¦  «         Œd| _        i | _        t	          ¦   «         | _        d S )NT)rg   rP  rf  r  r
   r  rQ  s       r:   rR  zResponse.__setstate__`  sQ   € Ø Ÿ;š;™=œ=ð 	'ð 	'‰KˆD�%Ý�D˜$ Ñ&Ô&Ð&Ð&ØˆŒØˆŒÝ&Ñ(Ô(ˆŒˆˆrE   c                óˆ   — t          | d¦  «        s,d                     |                      ¦   «         ¦  «        | _        | j        S )ú7
        Read and return the response content.
        r8  rE   )r9  rÐ   Ú
iter_bytesr8  rŽ   s    r:   r$  zResponse.readg  s;   € õ �t˜ZÑ(Ô(ð 	8ØŸHšH T§_¢_Ñ%6Ô%6Ñ7Ô7ˆDŒMØŒ}ÐrE   Ú
chunk_sizeú
int | Noneútyping.Iterator[bytes]c              #  óÆ  K  — t          | d¦  «        rb|€t          | j        ¦  «        n|}t          dt          | j        ¦  «        t	          |d¦  «        ¦  «        D ]}| j        |||z   …         V — ŒdS |                      ¦   «         }t          |¬¦  «        }t          | j        ¬¦  «        5  |  	                    ¦   «         D ]6}| 
                    |¦  «        D ]}| 
                    |¦  «        D ]}|V — ŒŒŒ7|                     ¦   «         D ]}| 
                    |¦  «        D ]}|V — ŒŒ|                     ¦   «         D ]}|V — Œ	 ddd¦  «         dS # 1 swxY w Y   dS ©z˜
        A byte-iterator over the decoded response content.
        This allows us to handle gzip, deflate, brotli, and zstd encoded responses.
        r8  Nr   r   ©rÅ  ©rZ  )r9  rë   r8  ÚrangeÚmaxr�  r   r   rd  Úiter_rawr�   r€  )rz   rÅ  Úir�  ÚchunkerÚ	raw_bytesÚdecodedÚchunks           r:   rÄ  zResponse.iter_byteso  sò  è è € õ
 �4˜Ñ$Ô$ð 	 Ø/9Ð/A�˜Tœ]Ñ+Ô+Ð+ÀzˆJÝ˜1�c $¤-Ñ0Ô0µ#°jÀ!Ñ2DÔ2DÑEÔEð 8ð 8�Ø”m A¨¨J©Ð$6Ô7Ð7Ð7Ð7Ð7ð8ð 8ð ×/Ò/Ñ1Ô1ˆGÝ!¨ZÐ8Ñ8Ô8ˆGÝ ¨¬Ð7Ñ7Ô7ð 	 ð 	 Ø!%§¢¡¤ð (ð (�IØ#*§>¢>°)Ñ#<Ô#<ð (ð (˜Ø%,§^¢^°GÑ%<Ô%<ð (ð (˜EØ"'˜K˜K˜K˜Kð(ð(ð  'Ÿ}š}™œð $ð $�GØ!(§¢°Ñ!8Ô!8ð $ð $˜Ø#˜˜˜˜ð$à$Ÿ]š]™_œ_ð  ð  �EØ�K�K�K�Kð ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   Â.BEÅEÅEútyping.Iterator[str]c              #  óÜ  K  — t          | j        pd¬¦  «        }t          |¬¦  «        }t          | j        ¬¦  «        5  |                      ¦   «         D ]3}|                     |¦  «        }|                     |¦  «        D ]}|V — ŒŒ4|                     ¦   «         }|                     |¦  «        D ]}|V — Œ|                     ¦   «         D ]}|V — Œ	 ddd¦  «         dS # 1 swxY w Y   dS ©z§
        A str-iterator over the decoded response content
        that handles both gzip, deflate, etc but also detects the content's
        string encoding.
        r   r9   rÊ  rË  N)r   r1   r   r   rd  rÄ  r�   r€  ©rz   rÅ  r�  rÐ  Úbyte_contentÚtext_contentrÓ  s          r:   Ú	iter_textzResponse.iter_text†  sU  è è € õ  t¤}Ð'?¸Ð@Ñ@Ô@ˆÝ¨Ð4Ñ4Ô4ˆÝ T¤]Ð3Ñ3Ô3ð 		ð 		Ø $§¢Ñ 1Ô 1ð  ð  �Ø&Ÿ~š~¨lÑ;Ô;�Ø$Ÿ^š^¨LÑ9Ô9ð  ð  �EØ�K�K�K�Kð à"Ÿ=š=™?œ?ˆLØ Ÿš¨Ñ5Ô5ð ð �Ø����Ø Ÿš™œð ð �Ø����ðð		ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð 		ð 		s   ¿BC!Ã!C%Ã(C%c              #  ó   K  — t          ¦   «         }t          | j        ¬¦  «        5  |                      ¦   «         D ]}|                     |¦  «        D ]}|V — ŒŒ|                     ¦   «         D ]}|V — Œ	 d d d ¦  «         d S # 1 swxY w Y   d S ©NrË  )r   r   rd  rÚ  r�   r€  ©rz   r�  rX  Úlines       r:   Ú
iter_lineszResponse.iter_lines™  sñ   è è € Ý‘-”-ˆÝ T¤]Ð3Ñ3Ô3ð 	ð 	ØŸšÑ(Ô(ð ð �Ø#ŸNšN¨4Ñ0Ô0ð ð �DØ�J�J�J�JðàŸš™œð ð �Ø�
�
�
�
ðð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¦ABÂBÂ
Bc              #  ób  K  — | j         rt          ¦   «         ‚| j        rt          ¦   «         ‚t	          | j        t          ¦  «        st          d¦  «        ‚d| _         d| _        t          |¬¦  «        }	 t          | j        ¬¦  «        5  | j        D ];}| xj        t          |¦  «        z  c_        |                     |¦  «        D ]}|V — ŒŒ<	 ddd¦  «         n# 1 swxY w Y   |                     ¦   «         D ]}|V — Œ	 |                      ¦   «          dS # |                      ¦   «          w xY w)ú@
        A byte-iterator over the raw response content.
        z5Attempted to call a sync iterator on an async stream.Tr   rÊ  rË  N)rg  r   rf  r   rB   r  r'   ro  rh  r   r   rd  rë   r�   r€  Úclose)rz   rÅ  rÐ  Úraw_stream_bytesrÓ  s        r:   rÎ  zResponse.iter_raw¢  s’  è è € ð Ô"ð 	#Ý Ñ"Ô"Ð"ØŒ>ð 	!Ý‘.”.Ð Ý˜$œ+¥~Ñ6Ô6ð 	XÝÐVÑWÔWÐWà"&ˆÔØ%&ˆÔ"Ý¨Ð4Ñ4Ô4ˆð
	Ý ¨¬Ð7Ñ7Ô7ð $ð $Ø(,¬ð $ð $Ð$ØÐ.Ô.µ#Ð6FÑ2GÔ2GÑGÐ.Ô.Ø!(§¢Ð0@Ñ!AÔ!Að $ð $˜Ø#˜˜˜˜ð$ð$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð !Ÿš™œð ð �Ø����ðð �JŠJ‰LŒLˆLˆLˆLøˆD�JŠJ‰LŒLˆLˆLøøøs1   Á5D Â
ACÃD ÃCÃD Ã"CÃ#D ÄD.c                ó  — t          | j        t          ¦  «        st          d¦  «        ‚| j        sPd| _        t          | j        ¬¦  «        5  | j                             ¦   «          ddd¦  «         dS # 1 swxY w Y   dS dS )ú‰
        Close the response and release the connection.
        Automatically called if the response body is read to completion.
        z2Attempted to call a sync close on an async stream.TrË  N)rB   r  r'   ro  rf  r   rd  râ  rŽ   s    r:   râ  zResponse.close½  sÎ   € õ
 ˜$œ+¥~Ñ6Ô6ð 	UÝÐSÑTÔTÐTàŒ~ð 	$Ø!ˆDŒNÝ ¨¬Ð7Ñ7Ô7ð $ð $Ø”×!Ò!Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $ð	$ð 	$s   ÁA4Á4A8Á;A8c              ƒ  ó(  K  — t          | d¦  «        szt          j        |                      ¦   «         ¦  «        4 ƒd{V —†}d                     d„ |2 ¦   «         ƒ d{V —†¦  «        | _        ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   | j        S )rÃ  r8  NrE   c              “  ó"   K  — g | 3 d {V —†}|‘Œ
6 S rv   rˆ   r?  s     r:   rŒ   z"Response.aread.<locals>.<listcomp>Ð  s.   è è € Ð)GÐ)GÐ)GÐ)GÐ)GÐ)GÐ)GÐ)G¸¨$Ð)GÐ)GÐ)GÐ)GrA  )r9  Ú
contextlibÚaclosingÚaiter_bytesrÐ   r8  )rz   Úpartss     r:   rC  zResponse.areadÊ  sB  è è € õ �t˜ZÑ(Ô(ð 	IÝ!Ô*¨4×+;Ò+;Ñ+=Ô+=Ñ>Ô>ð Ið Ið Ið Ið Ið Ið IÀ%Ø #§¢Ð)GÐ)GÀÐ)GÑ)GÔ)GÐ)GÐ)GÐ)GÐ)GÐ)GÐ)GÑ HÔ H�”ðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið IàŒ}Ðs   ¿+A<Á<
BÂ	Bú"typing.AsyncGenerator[bytes, None]c               óX  K  — t          | d¦  «        rc|€t          | j        ¦  «        n|}t          dt          | j        ¦  «        t	          |d¦  «        ¦  «        D ]}| j        |||z   …         W V — ŒdS |                      ¦   «         }t          |¬¦  «        }t          | j        ¬¦  «        5  t          j
        |                      ¦   «         ¦  «        4 ƒd{V —†}|2 3 d{V —†}|                     |¦  «        D ]}|                     |¦  «        D ]}|W V — ŒŒ Œ=6 	 ddd¦  «        ƒd{V —† n# 1 ƒd{V —†swxY w Y   |                     ¦   «         D ]}|                     |¦  «        D ]}|W V — ŒŒ |                     ¦   «         D ]}|W V — Œ	 ddd¦  «         dS # 1 swxY w Y   dS rÉ  )r9  rë   r8  rÌ  rÍ  r�  r   r   rd  rè  ré  Ú	aiter_rawr�   r€  )	rz   rÅ  rÏ  r�  rÐ  Ú
raw_streamrÑ  rÒ  rÓ  s	            r:   rê  zResponse.aiter_bytesÓ  sÚ  è è € õ
 �4˜Ñ$Ô$ð 	 Ø/9Ð/A�˜Tœ]Ñ+Ô+Ð+ÀzˆJÝ˜1�c $¤-Ñ0Ô0µ#°jÀ!Ñ2DÔ2DÑEÔEð 8ð 8�Ø”m A¨¨J©Ð$6Ô7Ð7Ð7Ð7Ð7Ð7ð8ð 8ð ×/Ò/Ñ1Ô1ˆGÝ!¨ZÐ8Ñ8Ô8ˆGÝ ¨¬Ð7Ñ7Ô7ð 
 ð 
 Ý%Ô.¨t¯~ª~Ñ/?Ô/?Ñ@Ô@ð ,ð ,ð ,ð ,ð ,ð ,ð ,ÀJØ+5ð ,ð ,ð ,ð ,ð ,ð ,ð ,˜iØ'.§~¢~°iÑ'@Ô'@ð ,ð ,˜GØ)0¯ª¸Ñ)@Ô)@ð ,ð , Ø&+     ð,ð,ð ,6¨:ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð
  'Ÿ}š}™œð $ð $�GØ!(§¢°Ñ!8Ô!8ð $ð $˜Ø#˜˜˜˜˜ð$à$Ÿ]š]™_œ_ð  ð  �EØ�K�K�K�K�Kð ð
 ð 
 ð 
 ñ 
 ô 
 ð 
 ð 
 ð 
 ð 
 ð 
 ð 
 ð 
 øøøð 
 ð 
 ð 
 ð 
 ð 
 ð 
 sC   Â/-FÃD0ÃDÃ%8D0ÄFÄ0
D:	Ä:FÄ=D:	Ä>AFÆF#Æ&F#útyping.AsyncIterator[str]c               óî  K  — t          | j        pd¬¦  «        }t          |¬¦  «        }t          | j        ¬¦  «        5  |                      ¦   «         2 3 d{V —†}|                     |¦  «        }|                     |¦  «        D ]}|W V — ŒŒ:6 |                     ¦   «         }|                     |¦  «        D ]}|W V — Œ|                     ¦   «         D ]}|W V — Œ	 ddd¦  «         dS # 1 swxY w Y   dS rÖ  )r   r1   r   r   rd  rê  r�   r€  r×  s          r:   Ú
aiter_textzResponse.aiter_textë  s}  è è € õ  t¤}Ð'?¸Ð@Ñ@Ô@ˆÝ¨Ð4Ñ4Ô4ˆÝ T¤]Ð3Ñ3Ô3ð 		ð 		Ø&*×&6Ò&6Ñ&8Ô&8ð  ð  ð  ð  ð  ð  ð  �lØ&Ÿ~š~¨lÑ;Ô;�Ø$Ÿ^š^¨LÑ9Ô9ð  ð  �EØ�K�K�K�K�Kð ð '9ð #Ÿ=š=™?œ?ˆLØ Ÿš¨Ñ5Ô5ð ð �Ø�����Ø Ÿš™œð ð �Ø�����ðð		ð 		ð 		ñ 		ô 		ð 		ð 		ð 		ð 		ð 		ð 		ð 		øøøð 		ð 		ð 		ð 		ð 		ð 		s   ¿C*ÁBÁBC*Ã*C.Ã1C.c               ó0  K  — t          ¦   «         }t          | j        ¬¦  «        5  |                      ¦   «         2 3 d {V —†}|                     |¦  «        D ]}|W V — ŒŒ%6 |                     ¦   «         D ]}|W V — Œ	 d d d ¦  «         d S # 1 swxY w Y   d S rÜ  )r   r   rd  rò  r�   r€  rÝ  s       r:   Úaiter_lineszResponse.aiter_linesþ  s  è è € Ý‘-”-ˆÝ T¤]Ð3Ñ3Ô3ð 	ð 	Ø"ŸošoÑ/Ô/ð ð ð ð ð ð ð �dØ#ŸNšN¨4Ñ0Ô0ð ð �DØ�J�J�J�J�Jðð 0ð  Ÿš™œð ð �Ø�
�
�
�
�
ðð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¦B»A Á<BÂBÂBc               ón  K  — | j         rt          ¦   «         ‚| j        rt          ¦   «         ‚t	          | j        t          ¦  «        st          d¦  «        ‚d| _         d| _        t          |¬¦  «        }| j         
                    ¦   «         }	 t          | j        ¬¦  «        5  |2 3 d{V —†}| xj        t          |¦  «        z  c_        |                     |¦  «        D ]}|W V — ŒŒB6 	 ddd¦  «         n# 1 swxY w Y   |                     ¦   «         D ]}|W V — Œ	 t	          |t           ¦  «        r|                     ¦   «         ƒ d{V —† |                      ¦   «         ƒ d{V —† dS # t	          |t           ¦  «        r|                     ¦   «         ƒ d{V —† |                      ¦   «         ƒ d{V —† w xY w)rá  z5Attempted to call an async iterator on a sync stream.Tr   rÊ  rË  N)rg  r   rf  r   rB   r  r   ro  rh  r   Ú	__aiter__r   rd  rë   r�   r€  r   Úaclose)rz   rÅ  rÐ  r  rã  rÓ  s         r:   rî  zResponse.aiter_raw  sR  è è € ð Ô"ð 	#Ý Ñ"Ô"Ð"ØŒ>ð 	!Ý‘.”.Ð Ý˜$œ+¥Ñ7Ô7ð 	XÝÐVÑWÔWÐWà"&ˆÔØ%&ˆÔ"Ý¨Ð4Ñ4Ô4ˆà”×&Ò&Ñ(Ô(ˆð	 Ý ¨¬Ð7Ñ7Ô7ð $ð $Ø.4ð $ð $ð $ð $ð $ð $ð $Ð*ØÐ.Ô.µ#Ð6FÑ2GÔ2GÑGÐ.Ô.Ø!(§¢Ð0@Ñ!AÔ!Að $ð $˜Ø#˜˜˜˜˜ð$ð /5¨fð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð !Ÿš™œð ð �Ø�����ðõ ˜&¥.Ñ1Ô1ð &Ø—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð%Ø—+’+‘-”-ÐÐÐÐÐÐÐÐÐøõ ˜&¥.Ñ1Ô1ð &Ø—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð%Ø—+’+‘-”-ÐÐÐÐÐÐÐÐøøøs=   ÂE) Â#C6Â&C(Â,=C6Ã*E) Ã6C:Ã:E) Ã=C:Ã>E) Å)AF4c              ƒ  ó  K  — t          | j        t          ¦  «        st          d¦  «        ‚| j        sVd| _        t          | j        ¬¦  «        5  | j                             ¦   «         ƒ d{V —† ddd¦  «         dS # 1 swxY w Y   dS dS )rå  z2Attempted to call an async close on a sync stream.TrË  N)rB   r  r   ro  rf  r   rd  r÷  rŽ   s    r:   r÷  zResponse.aclose%  sä   è è € õ
 ˜$œ+¥Ñ7Ô7ð 	UÝÐSÑTÔTÐTàŒ~ð 	+Ø!ˆDŒNÝ ¨¬Ð7Ñ7Ô7ð +ð +Ø”k×(Ò(Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +ð	+ð 	+s   Á A<Á<B ÂB )r]  ré   rr   rs   r  r^  rX  r>   rY  r>   r  rá   r  r  rZ  r_  r  r`  r[  ra  r\  rb  r3   rt   rS  )r3   rj  )rm  rj  r3   rt   )r3   r-   )rF   r-   r3   rt   r  )r3   r(   rT  )r3   r>   r  )r3   r   ©r3   r4   )r3   r.   )r®  rá   r3   rá   )r3   r+   )r3   rµ  r  rU  rV  rv   )rÅ  rÆ  r3   rÇ  )rÅ  rÆ  r3   rÔ  ©r3   rÔ  )r3   rt   )rÅ  rÆ  r3   rì  )rÅ  rÆ  r3   rð  )r3   rð  ),rú   r  r  r}   r#  r	  rm  r
  rZ  ru  rz  rY   r  rX  r1   rƒ  r�  r�  r‘  r“  r•  r˜  rš  r¢  r­  r  r  r`   r»  r  rM  rR  r$  rÄ  rÚ  rß  rÎ  râ  rC  rê  rò  rô  rî  r÷  rˆ   rE   r:   r.   r.     sÈ  € € € € € ð
 '+Ø*.ØØØØ:>Ø"&Ø04Ø)-ØGNð5'ð 5'ð 5'ð 5'ð 5'ð 5'ðn0ð 0ð 0ð 0ð ð
ð 
ð 
ñ „Xð
ð „^ð ð  ð  ñ „^ð ð ðð ð ñ „Xðð „^ðð ð ñ „^ðð ðAð Að Añ „XðAð ðBð Bð Bñ „XðBð ð ð  ð  ñ „Xð ð ðð ð ñ „Xðð
 ðð ð ñ „Xðð ðð ð ñ „Xðð* „_ð	ð 	ð 	ñ „_ð	ð ð9ð 9ð 9ñ „Xð9ðð ð ð ð$ ð8ð 8ð 8ñ „Xð8ð ð2ð 2ð 2ñ „Xð2ð ð	3ð 	3ð 	3ñ „Xð	3ð ð7ð 7ð 7ñ „Xð7ð ð7ð 7ð 7ñ „Xð7ð ð0ð 0ð 0ñ „Xð0ð ð
ð 
ð 
ñ „Xð
ð,"Gð "Gð "Gð "GðH5ð 5ð 5ð 5ð ðð ð ñ „Xðð ðdð dð dñ „Xðdð ð*ð *ð *ñ „Xð*ðGð Gð Gð Gð
ð 
ð 
ð 
ð)ð )ð )ð )ðð ð ð ð ð  ð  ð  ð  ð.ð ð ð ð ð&ð ð ð ðð ð ð ð ð6$ð $ð $ð $ðð ð ð ð ð  ð  ð  ð  ð0ð ð ð ð ð&ð ð ð ð ð  ð  ð  ð  ð<+ð +ð +ð +ð +ð +rE   r.   c                  óê   — e Zd ZdZd*d+d„Zd,d
„Zd-d„Zd.d/d„Z	 	 	 d0d1d„Z	 	 d2d3d„Z	d2d4d„Z
d*d+d„Zd5d„Zd6d„Zd7d„Zd8d „Zd9d"„Zd:d$„Zd;d%„Z G d&„ d'ej        j        ¦  «        Z G d(„ d)¦  «        ZdS )<r+   z-
    HTTP Cookies, as a mutable mapping.
    Nr  r  r3   rt   c                ó&  — |�t          |t          ¦  «        r\t          ¦   «         | _        t          |t          ¦  «        r0|                     ¦   «         D ]\  }}|                      ||¦  «         Œd S d S t          |t          ¦  «        r3t          ¦   «         | _        |D ]\  }}|                      ||¦  «         Œd S t          |t          ¦  «        r9t          ¦   «         | _        |j        D ]}| j                             |¦  «         Œd S || _        d S rv   )	rB   rû   r   Újarrg   Úsetrx   r+   Ú
set_cookie)rz   r  r<   rF   Úcookies        r:   r}   zCookies.__init__8  s'  € Øˆ?�j¨µ$Ñ7Ô7ˆ?Ý ‘{”{ˆDŒHÝ˜'¥4Ñ(Ô(ð )Ø")§-¢-¡/¤/ð )ð )‘J�C˜Ø—H’H˜S %Ñ(Ô(Ð(Ð(ð)ð )ð)ð )å˜¥Ñ&Ô&ð 		Ý ‘{”{ˆDŒHØ%ð %ð %‘
��UØ—’˜˜eÑ$Ô$Ð$Ð$ð%ð %å˜¥Ñ)Ô)ð 	Ý ‘{”{ˆDŒHØ!œ+ð ,ð ,�Ø”×#Ò# FÑ+Ô+Ð+Ð+ð,ð ,ð ˆDŒHˆHˆHrE   r©  r.   c                óÂ   — d|j         vrd|j         vrdS |                      |¦  «        }|                      |j        ¦  «        }| j                             ||¦  «         dS )zO
        Loads any cookies based on the response `Set-Cookie` headers.
        z
set-cookiezset-cookie2N)rr   Ú_CookieCompatResponseÚ_CookieCompatRequestrZ  rý  r´  )rz   r©  Úurllib_responseÚurllib_requests       r:   r´  zCookies.extract_cookiesI  sk   € ð ˜xÔ/Ð/Ð/°MÈÔIYÐ4YÐ4YØˆFà×4Ò4°XÑ>Ô>ˆØ×2Ò2°8Ô3CÑDÔDˆàŒ× Ò  °.ÑAÔAÐAÐAÐArE   rZ  r-   c                ód   — |                       |¦  «        }| j                             |¦  «         dS )zM
        Sets an appropriate 'Cookie:' HTTP header on the `Request`.
        N)r  rý  Úadd_cookie_header)rz   rZ  r  s      r:   r"  zCookies.set_cookie_headerU  s3   € ð ×2Ò2°7Ñ;Ô;ˆØŒ×"Ò" >Ñ2Ô2Ð2Ð2Ð2rE   rX   ú/rJ  r2   rF   ÚdomainÚpathc                ó  — i dd“d|“d|“dd“dd“d	|“d
t          |¦  «        “d|                     d¦  «        “d|“dt          |¦  «        “dd“dd“dd“dd“dd“dddi“dd“}t          di |¤Ž}| j                             |¦  «         dS )zU
        Set a cookie value by name. May optionally include domain and path.
        Úversionr   rJ  rF   ÚportNÚport_specifiedFr	  Údomain_specifiedÚdomain_initial_dotú.r
  Úpath_specifiedÚsecureÚexpiresÚdiscardTÚcommentÚcomment_urlÚrestÚHttpOnlyÚrfc2109rˆ   )r4   Ú
startswithr   rý  rÿ  )rz   rJ  rF   r	  r
  r®  r   s          r:   rþ  zCookies.set\  s!  € ð
Ø�qð
à�Dð
ð �Uð
ð �Dð	
ð
 ˜eð
ð �fð
ð ¥ V¡¤ð
ð ! &×"3Ò"3°CÑ"8Ô"8ð
ð �Dð
ð �d 4™jœjð
ð �eð
ð �tð
ð �tð
ð �tð
ð ˜4ð
ð  �Z Ð&ð!
ð" �uð#
ˆõ& Ð!Ð!˜&Ð!Ð!ˆØŒ×Ò˜FÑ#Ô#Ð#Ð#Ð#rE   r¦   r>   c                óª   — d}| j         D ]D}|j        |k    r7|�|j        |k    r*|�|j        |k    r|�d|› �}t	          |¦  «        ‚|j        }ŒE|€|S |S )zŒ
        Get a cookie by name. May optionally include domain and path
        in order to specify exactly which cookie to retrieve.
        Nz!Multiple cookies exist with name=)rý  rJ  r	  r
  r   rF   )rz   rJ  r¦   r	  r
  rF   r   rP   s           r:   r¥   zCookies.getv  s�   € ð ˆØ”hð 	-ð 	-ˆFØŒ{˜dÒ"Ð"Ø�> V¤]°fÒ%<Ð%<Ø�| v¤{°dÒ':Ð':Ø Ð,Ø&PÈ$Ð&PÐ&P˜GÝ"0°Ñ"9Ô"9Ð9Ø &¤˜øàˆ=ØˆNØˆrE   c                óÖ   ‡‡‡— ‰�‰�| j                              ‰‰‰¦  «        S ˆˆˆfd„| j         D ¦   «         }|D ]-}| j                              |j        |j        |j        ¦  «         Œ.dS )z�
        Delete a cookie by name. May optionally include domain and path
        in order to specify exactly which cookie to delete.
        Nc                ó^   •— g | ])}|j         ‰k    r‰�|j        ‰k    r‰�|j        ‰k    ¯'|‘Œ*S rv   )rJ  r	  r
  )r‰   r   r	  rJ  r
  s     €€€r:   rŒ   z"Cookies.delete.<locals>.<listcomp>œ  sT   ø€ ð 
ð 
ð 
àØŒ{˜dÒ"Ð"Ø� 6¤=°FÒ#:Ð#:Ø� ¤°Ò!4Ð!4ð	 ð "5Ð!4Ð!4rE   )rý  Úclearr	  r
  rJ  )rz   rJ  r	  r
  Úremover   s    ```  r:   ÚdeletezCookies.delete�  sž   øøø€ ð Ð $Ð"2Ø”8—>’> &¨$°Ñ5Ô5Ð5ð
ð 
ð 
ð 
ð 
ð 
àœ(ð
ñ 
ô 
ˆð ð 	Dð 	DˆFØŒH�NŠN˜6œ=¨&¬+°v´{ÑCÔCÐCÐCð	Dð 	DrE   c                óŒ   — g }|�|                      |¦  «         |�|€J ‚|                      |¦  «          | j        j        |Ž  dS )z‡
        Delete all cookies. Optionally include a domain and path in
        order to only delete a subset of all the cookies.
        N)r_   rý  r  )rz   r	  r
  Úargss       r:   r  zCookies.clear§  s\   € ð
 ˆØÐØ�KŠK˜ÑÔÐØÐØÐ%Ð%Ð%Ø�KŠK˜ÑÔÐØˆŒŒ˜ÐÐÐÐrE   c                ól   — t          |¦  «        }|j        D ]}| j                             |¦  «         Œd S rv   )r+   rý  rÿ  )rz   r  r   s      r:   r½   zCookies.update´  sC   € Ý˜'Ñ"Ô"ˆØ”kð 	(ð 	(ˆFØŒH×Ò Ñ'Ô'Ð'Ð'ð	(ð 	(rE   c                ó.   — |                       ||¦  «        S rv   )rþ  ©rz   rJ  rF   s      r:   rÛ   zCookies.__setitem__¹  s   € Ø�xŠx˜˜eÑ$Ô$Ð$rE   c                óR   — |                       |¦  «        }|€t          |¦  «        ‚|S rv   )r¥   r­   r&  s      r:   rÑ   zCookies.__getitem__¼  s'   € Ø—’˜‘”ˆØˆ=Ý˜4‘.”.Ð ØˆrE   c                ó,   — |                       |¦  «        S rv   )r!  )rz   rJ  s     r:   rà   zCookies.__delitem__Â  s   € Ø�{Š{˜4Ñ Ô Ð rE   ré   c                ó*   — t          | j        ¦  «        S rv   )rë   rý  rŽ   s    r:   rì   zCookies.__len__Å  s   € Ý�4”8‰}Œ}ÐrE   rÔ  c                ó$   — d„ | j         D ¦   «         S )Nc              3  ó$   K  — | ]}|j         V — Œd S rv   )rJ  ©r‰   r   s     r:   ú	<genexpr>z#Cookies.__iter__.<locals>.<genexpr>É  s$   è è € Ð3Ð3 �”Ð3Ð3Ð3Ð3Ð3Ð3rE   ©rý  rŽ   s    r:   rè   zCookies.__iter__È  s   € Ø3Ð3¨$¬(Ð3Ñ3Ô3Ð3rE   r4   c                ó   — | j         D ]} dS dS )NTFr.  )rz   r‹   s     r:   Ú__bool__zCookies.__bool__Ë  s   € Ø”ð 	ð 	ˆAØ�4�4ØˆurE   c                óV   — d                      d„ | j        D ¦   «         ¦  «        }d|› d�S )Nr˜   c           	     óD   — g | ]}d |j         › d|j        › d|j        › d�‘ŒS )z<Cookie rZ   z for z />)rJ  rF   r	  r,  s     r:   rŒ   z$Cookies.__repr__.<locals>.<listcomp>Ò  s;   € ÐcÐcÐcÐPVÐK˜œÐKÐK f¤lÐKÐK¸¼ÐKÐKÐKÐcÐcÐcrE   z	<Cookies[r¾  )rÐ   rý  )rz   Úcookies_reprs     r:   r  zCookies.__repr__Ð  s=   € Ø—y’yØcÐcÐZ^ÔZbÐcÑcÔcñ
ô 
ˆð ,˜<Ð+Ð+Ð+Ð+rE   c                  ó0   ‡ — e Zd ZdZdˆ fd„Zdˆ fd
„Zˆ xZS )úCookies._CookieCompatRequestú‚
        Wraps a `Request` instance up in a compatibility interface suitable
        for use with `CookieJar` operations.
        rZ  r-   r3   rt   c                ó°   •— t          ¦   «                              t          |j        ¦  «        t	          |j        ¦  «        |j        ¬¦  «         || _        d S )N)rY   rr   r  )Úsuperr}   r2   rY   rû   rr   r  rZ  )rz   rZ  rù   s     €r:   r}   z%Cookies._CookieCompatRequest.__init__Ý  sP   ø€ Ý‰GŒG×ÒÝ˜œÑ$Ô$Ý˜Wœ_Ñ-Ô-Ø”~ð ñ ô ð ð
 #ˆDŒLˆLˆLrE   r<   r2   rb   c                ój   •— t          ¦   «                              ||¦  «         || j        j        |<   d S rv   )r8  Úadd_unredirected_headerrZ  rr   )rz   r<   rb   rù   s      €r:   r:  z4Cookies._CookieCompatRequest.add_unredirected_headerå  s2   ø€ Ý‰GŒG×+Ò+¨C°Ñ5Ô5Ð5Ø(+ˆDŒLÔ  Ñ%Ð%Ð%rE   ©rZ  r-   r3   rt   )r<   r2   rb   r2   r3   rt   )rú   r  r  r  r}   r:  Ú__classcell__)rù   s   @r:   r  r5  ×  se   ø€ € € € € ð	ð 	ð
	#ð 	#ð 	#ð 	#ð 	#ð 	#ð	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,rE   r  c                  ó"   — e Zd ZdZd
d„Zdd„Zd	S )úCookies._CookieCompatResponser6  r©  r.   r3   rt   c                ó   — || _         d S rv   )r©  )rz   r©  s     r:   r}   z&Cookies._CookieCompatResponse.__init__ï  s   € Ø$ˆDŒMˆMˆMrE   úemail.message.Messagec                ó”   — t           j                             ¦   «         }| j        j                             ¦   «         D ]
\  }}|||<   Œ|S rv   )rO   rP   rQ   r©  rr   r£   )rz   Úinfor<   rF   s       r:   rB  z"Cookies._CookieCompatResponse.infoò  sK   € Ý”=×(Ò(Ñ*Ô*ˆDØ"œmÔ3×?Ò?ÑAÔAð "ð "‘
��Uð "��S‘	�	ØˆKrE   N©r©  r.   r3   rt   )r3   r@  )rú   r  r  r  r}   rB  rˆ   rE   r:   r  r>  é  sF   € € € € € ð	ð 	ð
	%ð 	%ð 	%ð 	%ð	ð 	ð 	ð 	ð 	ð 	rE   r  rv   )r  r  r3   rt   rC  r;  )rX   r  )
rJ  r2   rF   r2   r	  r2   r
  r2   r3   rt   )NNN)
rJ  r2   r¦   r>   r	  r>   r
  r>   r3   r>   r  )rJ  r2   r	  r>   r
  r>   r3   rt   )r	  r>   r
  r>   r3   rt   )rJ  r2   rF   r2   r3   rt   )rJ  r2   r3   r2   )rJ  r2   r3   rt   r  rú  rù  r  )rú   r  r  r  r}   r´  r"  rþ  r¥   r!  r  r½   rÛ   rÑ   rà   rì   rè   r0  r  ÚurllibrZ  r-   r  r  rˆ   rE   r:   r+   r+   3  sÛ  € € € € € ðð ðð ð ð ð ð"
Bð 
Bð 
Bð 
Bð3ð 3ð 3ð 3ð$ð $ð $ð $ð $ð: #Ø!Øðð ð ð ð ð8 "Øð	Dð Dð Dð Dð Dð0ð ð ð ð ð(ð (ð (ð (ð (ð
%ð %ð %ð %ðð ð ð ð!ð !ð !ð !ðð ð ð ð4ð 4ð 4ð 4ðð ð ð ð
,ð ,ð ,ð ,ð,ð ,ð ,ð ,ð ,˜vœ~Ô5ñ ,ô ,ð ,ð$ð ð ð ð ñ ô ð ð ð rE   r+   )r1   r2   r3   r4   rv   )r<   r=   r1   r>   r3   r?   )rF   r=   r1   r>   r3   r?   )rK   r2   r3   r>   )rF   r2   r3   rU   )rg   rh   r3   ri   )MÚ
__future__r   r6   rè  ÚdatetimeÚemail.messagerO   r  r°  r\   r  Úurllib.requestrD  Úcollections.abcr   r   Úhttp.cookiejarr   r   r8  r	   r
   r   r   Ú	_decodersr   r   r   r   r   r   r   Ú_exceptionsr   r   r   r   r   r   r   Ú
_multipartr   Ú_status_codesr   Ú_typesr   r   r   r    r!   r"   r#   r$   r%   r&   r'   Ú_urlsr(   Ú_utilsr)   r*   Ú__all__rm   ÚTypeVarr0   r;   rD   rJ   rT   rf   rp   ÚMutableMappingr2   r,   r-   r.   r+   rˆ   rE   r:   ú<module>rU     sã  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,à SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ Sðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð AÐ @Ð @Ð @Ð @Ð @Ø  Ð  Ð  Ð  Ð  Ð  ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à
7Ð
7Ð
7€à$Ð&;Ð<Ð à€V„^�DÑÔ€ðð ð ð ðNð Nð Nð Nð Nð-ð -ð -ð -ð -ð1ð 1ð 1ð 1ð"ð "ð "ð "ðJð ð ð ð}:ð }:ð }:ð }:ð }:ˆfÔ# C¨ HÔ-ñ }:ô }:ð }:ð@})ð })ð })ð })ð })ñ })ô })ð })ð@c+ð c+ð c+ð c+ð c+ñ c+ô c+ð c+ðLFð Fð Fð Fð FˆfÔ# C¨ HÔ-ñ Fô Fð Fð Fð FrE   