ó
    §ZÇh¬(  ã                   ó¾  • S SK r S SKJrJrJrJrJrJrJrJ	r	  SSK
JrJr  SSKJrJrJr  \(       a  SSKJr   S SKJr  Sr\ R.                  " S	5      r\ R.                  " \R2                  " S
5      5      r\ R.                  " \R2                  " S
5      5      r " S S\\\\4      5      r\	\\\\4      \\\\4      \\\\4      \\\\4      4   r\S\S\S   S\4S j5       r \S\S\S   S\4S j5       r \ SS\	\\4   S\!S\4S jj5       r  SS\	\\4   S\!S\4S jjr S\S\S\\   4S jr"S\S\S\\   S\4S jr#SSS\!4S jr$g! \ a
    S SKJr   GNf = f)é    N)ÚAnyStrÚcastÚListÚoverloadÚSequenceÚTupleÚTYPE_CHECKINGÚUnioné   )Ú
field_nameÚfield_value)ÚbytesifyÚLocalProtocolErrorÚvalidate)ÚRequest)ÚLiteralé   s   [0-9]+Úasciic                   ó¶   • \ rS rSrSrSrS\\\\\4      SS4S jr	S\
4S jrS	\S\
4S
 jrS\4S jrS\4S jrS\S\\\4   4S jrS\\\\4      4S jrSrg)ÚHeaderséM   a…  
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                 ó   • Xl         g ©N©r   )Úselfr   s     ÚI/home/mande/repo/quber/.venv/lib/python3.13/site-packages/h11/_headers.pyÚ__init__ÚHeaders.__init__h   s   € Ø%Õó    c                 ó,   • [        U R                  5      $ r   )Úboolr   ©r   s    r   Ú__bool__ÚHeaders.__bool__k   s   € Ü�D×$Ñ$Ó%Ð%r"   Úotherc                 ó0   • [        U 5      [        U5      :H  $ r   )Úlist)r   r(   s     r   Ú__eq__ÚHeaders.__eq__n   s   € Ü�D‹zœT %›[Ñ(Ð(r"   c                 ó,   • [        U R                  5      $ r   )Úlenr   r%   s    r   Ú__len__ÚHeaders.__len__q   s   € Ü�4×#Ñ#Ó$Ð$r"   c                 ó0   • S[        [        U 5      5      -  $ )Nz<Headers(%s)>)Úreprr*   r%   s    r   Ú__repr__ÚHeaders.__repr__t   s   € Ø¤¤d¨4£jÓ!1Ñ1Ð1r"   Úidxc                 ó,   • U R                   U   u  p#nX44$ r   r   )r   r5   Ú_ÚnameÚvalues        r   Ú__getitem__ÚHeaders.__getitem__w   s   € Ø×)Ñ)¨#Ñ.‰ˆ�Øˆ}Ðr"   c                 óZ   • U R                    VVVs/ s H	  u  po1U4PM     snnn$ s  snnnf r   r   )r   Úraw_namer7   r9   s       r   Ú	raw_itemsÚHeaders.raw_items{   s*   € Ø<@×<LÒ<LÕMÒ<LÑ&8 h°5˜5Ó!Ñ<LÓMÐMùÔMs   ‘&r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r   r   Úbytesr    r$   r&   Úobjectr+   Úintr/   Ústrr3   r:   r>   Ú__static_attributes__© 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                 ó   • g r   rK   ©rL   rM   s     r   Únormalize_and_validaterP   ‡   ó   € àr"   Fc                 ó   • g r   rK   rO   s     r   rP   rP   Œ   rQ   r"   c                 ó   • g r   rK   rO   s     r   rP   rP   ‘   s   € ð r"   c                 ó„  • / nS nSnU  GH¤  u  pVU(       d:  [        U5      n[        U5      n[        [        USU5        [        [        USU5        [	        U[
        5      (       d   e[	        U[
        5      (       d   eUnUR                  5       nUS:X  aµ  UR                  S5       Vs1 s H  oˆR                  5       iM     n	n[        U	5      S:w  a  [        S5      eU	R                  5       n[        [        US5        [        U5      [        :”  a  [        S5      eUc  UnUR                  XuU45        GM/  X6:w  a  [        S5      eGMB  US	:X  aI  U(       a
  [        S
SS9eUR                  5       nUS:w  a
  [        SSS9eSnUR                  XuU45        GM‘  UR                  XuU45        GM§     [        U5      $ s  snf )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Ú
isinstancerF   ÚlowerÚsplitÚstripr.   r   ÚpopÚ_content_length_reÚCONTENT_LENGTH_MAX_DIGITSÚappendr   )
rL   rM   Únew_headersÚseen_content_lengthÚsaw_transfer_encodingr8   r9   r=   ÚlengthÚlengthss
             r   rP   rP   ˜   sÄ  € ð €KØÐØ!ÐÜ‰ˆö Ü˜D“>ˆDÜ˜U“OˆEÜ”^ TÐ+EÀtÔLÜ”_ eÐ-HÈ%ÔPÜ˜$¤×&Ñ&Ð&Ð&Ü˜%¤×'Ñ'Ð'Ð'àˆØ�z‰z‹|ˆØÐ$Ó$Ø49·K±KÀÔ4EÓFÒ4E¨&—|‘|–~Ñ4EˆGÐFÜ�7‹|˜qÓ Ü(Ð)MÓNÐNØ—K‘K“MˆEÜÔ'¨Ð0DÔEÜ�5‹zÔ5Ó5Ü(Ð)=Ó>Ð>Ø"Ñ*Ø&+Ð#Ø×"Ñ" H°EÐ#:×;Ø$Ó-Ü(Ð)MÓNÐNò .àÐ)Ó)ö
 %Ü(Ø8ÈCñð ð
 —K‘K“MˆEØ˜
Ó"Ü(ØBØ&)ñð ð %)Ð!Ø×Ñ °Ð6×7à×Ñ °Ð6×7ñ_ ô` �;ÓÐùòC Gs   Â)F=r8   c                 óè   • / nU R                    H_  u  p4nXA:X  d  M  UR                  5       nUR                  S5       H-  nUR                  5       nU(       d  M  UR	                  U5        M/     Ma     U$ )NrU   )r   rZ   r[   r\   r`   )rL   r8   Úoutr7   Ú
found_nameÚfound_raw_valueÚfound_split_values          r   Úget_comma_headerrk   Ñ   ss   € ðH €CØ*1×*=Ô*=Ñ&ˆ�ØÕØ-×3Ñ3Ó5ˆOØ%4×%:Ñ%:¸4Ö%@Ð!Ø$5×$;Ñ$;Ó$=Ð!ß$Ð$Ø—J‘JÐ0Ö1ó &Añ +>ð €Jr"   Ú
new_valuesc                 óÎ   • / nU R                    H  u  pEnXQ:w  d  M  UR                  XF45        M!     U H$  nUR                  UR                  5       U45        M&     [        U5      $ r   )r   r`   ÚtitlerP   )rL   r8   rl   ra   Úfound_raw_namerh   ri   Ú	new_values           r   Úset_comma_headerrq      sf   € ð .0€KØ7>×7JÔ7JÑ3ˆ OØÕØ×Ñ Ð@ÖAñ 8Kó  ˆ	Ø×Ñ˜DŸJ™J›L¨)Ð4Ö5ñ  ä! +Ó.Ð.r"   Úrequestr   c                 óZ   • U R                   S:  a  g[        U R                  S5      nSU;   $ )Ns   1.1Fs   expects   100-continue)Úhttp_versionrk   rL   )rr   Úexpects     r   Úhas_expect_100_continuerv     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_extensionsr_   Úcompiler^   ÚencoderW   rX   rF   r   rI   ÚHeaderTypesrP   r$   rk   rq   rv   rK   r"   r   Ú<module>r�      s  ðÛ 	ß V× VÓ Vç *ß 9Ñ 9æÝ ð*Ýð Ð ð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   ¹E ÅEÅE