Ë
    $Æ%h¬(  ã                   ó   — d dl Z d dlmZmZmZmZmZmZmZm	Z	 ddl
mZmZ ddlmZmZmZ erddlmZ 	 d dlmZ dZ e j.                  d	«      Z e j.                   ej2                  d
«      «      Z e j.                   ej2                  d
«      «      Z G d„ deeeef      «      Ze	eeeef      eeeef      eeeef      eeeef      f   Zededed   defd„«       Z ededed   defd„«       Z e	 dde	eef   de!defd„«       Z 	 dde	eef   de!defd„Z dededee   fd„Z"dededee   defd„Z#ddde!fd„Z$y# e$ r
 d dlmZ Y �Œw xY w)é    N)ÚAnyStrÚcastÚListÚoverloadÚSequenceÚTupleÚTYPE_CHECKINGÚUnioné   )Ú
field_nameÚfield_value)ÚbytesifyÚLocalProtocolErrorÚvalidate)ÚRequest)ÚLiteralé   s   [0-9]+Úasciic                   ó    — e Zd ZdZdZdeeeeef      ddfd„Zde	fd„Z
dede	fd	„Zdefd
„Zdefd„Zdedeeef   fd„Zdeeeef      fd„Zy)ÚHeadersaÕ  
    A list-like interface that allows iterating over headers as byte-pairs
    of (lowercased-name, value).

    Internally we actually store the representation as three-tuples,
    including both the raw original casing, in order to preserve casing
    over-the-wire, and the lowercased name, for case-insensitive comparisions.

    r = Request(
        method="GET",
        target="/",
        headers=[("Host", "example.org"), ("Connection", "keep-alive")],
        http_version="1.1",
    )
    assert r.headers == [
        (b"host", b"example.org"),
        (b"connection", b"keep-alive")
    ]
    assert r.headers.raw_items() == [
        (b"Host", b"example.org"),
        (b"Connection", b"keep-alive")
    ]
    Ú_full_itemsÚ
full_itemsÚreturnNc                 ó   — || _         y ©N©r   )Úselfr   s     úJ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/h11/_headers.pyÚ__init__zHeaders.__init__h   s
   € Ø%ˆÕó    c                 ó,   — t        | j                  «      S r   )Úboolr   ©r   s    r   Ú__bool__zHeaders.__bool__k   s   € Ü�D×$Ñ$Ó%Ð%r    Úotherc                 ó0   — t        | «      t        |«      k(  S r   )Úlist)r   r%   s     r   Ú__eq__zHeaders.__eq__n   s   € Ü�D‹zœT %›[Ñ(Ð(r    c                 ó,   — t        | j                  «      S r   )Úlenr   r#   s    r   Ú__len__zHeaders.__len__q   s   € Ü�4×#Ñ#Ó$Ð$r    c                 ó0   — dt        t        | «      «      z  S )Nz<Headers(%s)>)Úreprr'   r#   s    r   Ú__repr__zHeaders.__repr__t   s   € Ø¤¤d¨4£jÓ!1Ñ1Ð1r    Úidxc                 ó0   — | j                   |   \  }}}||fS r   r   )r   r/   Ú_ÚnameÚvalues        r   Ú__getitem__zHeaders.__getitem__w   s"   € Ø×)Ñ)¨#Ñ.‰ˆˆ4�Ø�eˆ}Ðr    c                 óX   — | j                   D ���cg c]
  \  }}}||f‘Œ c}}}S c c}}}w r   r   )r   Úraw_namer1   r3   s       r   Ú	raw_itemszHeaders.raw_items{   s+   € Ø<@×<LÑ<L×MÐMÑ&8 h°°5�˜5Ò!ÔMÐMùÔMs   ‘%)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   Úbytesr   r"   r$   Úobjectr(   Úintr+   Ústrr.   r4   r7   © r    r   r   r   M   s¡   „ ñð0 €Ið& 4¨¨e°U¸EÐ.AÑ(BÑ#Cð &Èó &ð&˜$ó &ð)˜Fð ) tó )ð%˜ó %ð2˜#ó 2ð˜sð  u¨U°E¨\Ñ':ó ðN˜4  e¨U lÑ 3Ñ4ô Nr    r   ÚheadersÚ_parsedTr   c                  ó   — y r   rA   ©rB   rC   s     r   Únormalize_and_validaterF   ‡   ó   € àr    Fc                  ó   — y r   rA   rE   s     r   rF   rF   Œ   rG   r    c                  ó   — y r   rA   rE   s     r   rF   rF   ‘   s   € ð r    c                 óV  — g }d }d}| D �]Ž  \  }}|s:t        |«      }t        |«      }t        t        |d|«       t        t        |d|«       t	        |t
        «      sJ ‚t	        |t
        «      sJ ‚|}|j                  «       }|dk(  r¯|j                  d«      D �ch c]  }|j                  «       ’Œ }	}t        |	«      dk7  rt        d«      ‚|	j                  «       }t        t        |d«       t        |«      t        kD  rt        d«      ‚|€|}|j                  |||f«       �Œ||k7  s�Œ"t        d«      ‚|d	k(  rI|rt        d
d¬«      ‚|j                  «       }|dk7  rt        dd¬«      ‚d}|j                  |||f«       �Œ{|j                  |||f«       �Œ‘ t        |«      S c c}w )NFzIllegal header name {!r}zIllegal header value {!r}s   content-lengthó   ,r   z"conflicting Content-Length headerszbad Content-Lengths   transfer-encodingz"multiple Transfer-Encoding headersiõ  )Úerror_status_hints   chunkedz,Only Transfer-Encoding: chunked is supportedT)r   r   Ú_field_name_reÚ_field_value_reÚ
isinstancer=   ÚlowerÚsplitÚstripr*   r   ÚpopÚ_content_length_reÚCONTENT_LENGTH_MAX_DIGITSÚappendr   )
rB   rC   Únew_headersÚseen_content_lengthÚsaw_transfer_encodingr2   r3   r6   ÚlengthÚlengthss
             r   rF   rF   ˜   sÇ  € ð €KØÐØ!ÐØó /8‰ˆˆeñ Ü˜D“>ˆDÜ˜U“OˆEÜ”^ TÐ+EÀtÔLÜ”_ eÐ-HÈ%ÔPÜ˜$¤Ô&Ð&Ð&Ü˜%¤Ô'Ð'Ð'àˆØ�z‰z‹|ˆØÐ$Ò$Ø49·K±KÀÓ4EÖF¨&�v—|‘|•~ÐFˆGÐFÜ�7‹|˜qÒ Ü(Ð)MÓNÐNØ—K‘K“MˆEÜÔ'¨Ð0DÔEÜ�5‹zÔ5Ò5Ü(Ð)=Ó>Ð>Ø"Ð*Ø&+Ð#Ø×"Ñ" H¨d°EÐ#:Ö;Ø$¨Ô-Ü(Ð)MÓNÐNØÐ)Ò)ñ
 %Ü(Ø8ÈCôð ð
 —K‘K“MˆEØ˜
Ò"Ü(ØBØ&)ôð ð %)Ð!Ø×Ñ ¨$°Ð6Ö7à×Ñ ¨$°Ð6Ö7ð_/8ô` �;ÓÐùòC Gs   ÂF&r2   c                 óÔ   — g }| j                   D ]V  \  }}}||k(  sŒ|j                  «       }|j                  d«      D ]&  }|j                  «       }|sŒ|j	                  |«       Œ( ŒX |S )NrK   )r   rP   rQ   rR   rV   )rB   r2   Úoutr1   Ú
found_nameÚfound_raw_valueÚfound_split_values          r   Úget_comma_headerra   Ñ   s}   € ðH €CØ*1×*=Ñ*=ò 2Ñ&ˆˆ:�Ø˜ÓØ-×3Ñ3Ó5ˆOØ%4×%:Ñ%:¸4Ó%@ò 2Ð!Ø$5×$;Ñ$;Ó$=Ð!Ú$Ø—J‘JÐ0Õ1ñ2ð2ð €Jr    Ú
new_valuesc                 óÈ   — g }| j                   D ]  \  }}}||k7  sŒ|j                  ||f«       Œ! |D ]#  }|j                  |j                  «       |f«       Œ% t        |«      S r   )r   rV   ÚtitlerF   )rB   r2   rb   rW   Úfound_raw_namer^   r_   Ú	new_values           r   Úset_comma_headerrg      sw   € ð .0€KØ7>×7JÑ7Jò BÑ3ˆ˜
 OØ˜ÓØ×Ñ °Ð@ÕAðBð  ò 6ˆ	Ø×Ñ˜DŸJ™J›L¨)Ð4Õ5ð6ä! +Ó.Ð.r    Úrequestr   c                 óV   — | j                   dk  ryt        | j                  d«      }d|v S )Ns   1.1Fs   expects   100-continue)Úhttp_versionra   rB   )rh   Úexpects     r   Úhas_expect_100_continuerl     s0   € ð ×Ñ˜fÒ$ØÜ˜gŸo™o¨yÓ9€FØ˜fÐ$Ð$r    )F)%ÚreÚtypingr   r   r   r   r   r   r	   r
   Ú_abnfr   r   Ú_utilr   r   r   Ú_eventsr   r   ÚImportErrorÚtyping_extensionsrU   ÚcompilerT   ÚencoderM   rN   r=   r   r@   ÚHeaderTypesrF   r"   ra   rg   rl   rA   r    r   ú<module>rw      s"  ðÛ 	ß V× VÓ Vç *ß 9Ñ 9áÝ ð*Ýð Ð ðr  �R—Z‘Z 
Ó+Ð Ø�—‘Ð-˜J×-Ñ-¨gÓ6Ó7€Ø�"—*‘*Ð/˜[×/Ñ/°Ó8Ó9€ô/Nˆh�u˜U E˜\Ñ*Ñ+ô /Nðd Øˆˆu�eˆ|Ñ	ÑØˆˆu�cˆzÑ	ÑØˆˆs�EˆzÑ	ÑØˆˆs�Cˆx‰Ñðñ€ð 
ð Gð °g¸d±mð Èò ó 
ðð 
ð Kð ¸'À%¹.ð ÈWò ó 
ðð 
à:?ñØ�7˜KÐ'Ñ(ðØ37ðàòó 
ðð ;@ñ6 Ø�7˜KÐ'Ñ(ð6 Ø37ð6 àó6 ðr,˜gð ,¨Uð ,°t¸E±{ó ,ð^/˜gð /¨Uð /ÀÀUÁð /ÐPWó /ð&% Yð %°4ô %øðO ò *ß)Ð)ð*ús   ´D> Ä>EÅE