+
    LV-j„  ã                   ó~   € ^ RI t ^ RIt^ RIHtHtHt R.t] P                  ! R] P                  4      t	 ! R R4      t
R# )é    N)ÚListÚOptionalÚUnionÚReceiveBuffers   
?
c                   óÔ   a € ] tR t^/t o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )r   c                ó   <€ V ^8„  d   QhRR/# )é   ÚreturnN© )ÚformatÚ__classdict__s   "€Úc/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/h11/_receivebuffer.pyÚ__annotate__ÚReceiveBuffer.__annotate__0   s   ø€ ÷ (ñ (˜$ñ (ó    c                ó@   € \        4       V n        ^ V n        ^ V n        R# )r   N)Ú	bytearrayÚ_dataÚ_next_line_searchÚ_multiple_lines_search©Úselfs   &r   Ú__init__ÚReceiveBuffer.__init__0   s   € Ü“[ˆŒ
Ø!"ˆÔØ&'ˆÖ#r   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# )r	   Ú	bytesliker
   r   )r   Úbytesr   )r   r   s   "€r   r   r   5   s%   ø€ ÷ ñ ¡%©©yÐ(8Õ"9ð ¸oñ r   c                ó8   € V ;P                   V,          un         V # ©N)r   )r   r   s   &&r   Ú__iadd__ÚReceiveBuffer.__iadd__5   s   € Ø�
Š
�iÕ�
Øˆr   c                ó    <€ V ^8„  d   QhRS[ /# ©r	   r
   ©Úbool)r   r   s   "€r   r   r   9   s   ø€ ÷ ñ ™$ñ r   c                ó*   € \        \        V 4      4      # r   )r%   Úlenr   s   &r   Ú__bool__ÚReceiveBuffer.__bool__9   s   € Ü”C˜“I‹Ðr   c                ó    <€ V ^8„  d   QhRS[ /# r#   )Úint)r   r   s   "€r   r   r   <   s   ø€ ÷ ñ ™ñ r   c                ó,   € \        V P                  4      # r   )r'   r   r   s   &r   Ú__len__ÚReceiveBuffer.__len__<   s   € Ü�4—:‘:‹Ðr   c                ó    <€ V ^8„  d   QhRS[ /# r#   )r   )r   r   s   "€r   r   r   @   s   ø€ ÷ !ñ !™5ñ !r   c                ó,   € \        V P                  4      # r   )r   r   r   s   &r   Ú	__bytes__ÚReceiveBuffer.__bytes__@   s   € Ü�T—Z‘ZÓ Ð r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r	   Úcountr
   )r+   r   )r   r   s   "€r   r   r   C   s   ø€ ÷ ñ ™cð ¡iñ r   c                ó^   € V P                   R V pV P                   R V1 ^ V n        ^ V n        V# r   )r   r   r   ©r   r5   Úouts   && r   Ú_extractÚReceiveBuffer._extractC   s7   € à�j‰j˜˜%Ð ˆØ�J‰J�v˜�vÐà!"ˆÔØ&'ˆÔ#àˆ
r   c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# r4   )r+   r   r   )r   r   s   "€r   r   r   M   s    ø€ ÷ $ñ $©3ð $±8¹IÕ3Fñ $r   c                óV   € V P                   RV pV'       g   R# V P                  V4      # )z2
Extract a fixed number of bytes from the buffer.
N)r   r9   r7   s   && r   Úmaybe_extract_at_mostÚ#ReceiveBuffer.maybe_extract_at_mostM   s)   € ð �j‰j˜˜%Ð ˆßÙà�}‰}˜UÓ#Ð#r   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r#   )r   r   )r   r   s   "€r   r   r   W   s   ø€ ÷ "ñ "©±)Õ)<ñ "r   c                óî   € \        ^ V P                  ^,
          4      pV P                  P                  RV4      pVR8X  d   \	        V P                  4      V n        R# V^,           pV P                  V4      # )z;
Extract the first line, if it is completed in the buffer.
ó   
Néÿÿÿÿ)Úmaxr   r   Úfindr'   r9   )r   Úsearch_start_indexÚpartial_idxÚidxs   &   r   Úmaybe_extract_next_lineÚ%ReceiveBuffer.maybe_extract_next_lineW   sf   € ô
 !  D×$:Ñ$:¸QÕ$>Ó?ÐØ—j‘j—o‘o gÐ/AÓBˆà˜"ÔÜ%(¨¯©£_ˆDÔ"Ùð ˜A�oˆà�}‰}˜SÓ!Ð!r   c                ó@   <€ V ^8„  d   QhRS[ S[S[,          ,          /# r#   )r   r   r   )r   r   s   "€r   r   r   h   s   ø€ ÷  ñ  ¡X©d±9­oÕ%>ñ  r   c                ót  € V P                   R,          R8X  d   V P                  ^4       . # V P                   R,          R8X  d   V P                  ^4       . # \        P                  V P                   V P                  4      pVf.   \        ^ \        V P                   4      ^,
          4      V n        R# VP                  ^ 4      R,          pV P                  V4      pVP                  R4      pV F  pVP                  R4      '       g   K  VR K!  	  VR	,          VR,          u;8X  d	   R8X  g   Q h Q hVR	R1 V# )
zL
Extract everything up to the first blank line, and return a list of lines.
:Né   Nó   
:Nr	   NrA   Nó   r   rB   éþÿÿÿ)
r   r9   Úblank_line_regexÚsearchr   rC   r'   ÚspanÚsplitÚendswith)r   ÚmatchrG   r8   ÚlinesÚlines   &     r   Úmaybe_extract_linesÚ!ReceiveBuffer.maybe_extract_linesh   s	  € ð
 �:‰:�b�>˜UÔ"Ø�M‰M˜!ÔØˆIà�:‰:�b�>˜WÔ$Ø�M‰M˜!ÔØˆIô !×'Ñ'¨¯
©
°D×4OÑ4OÓPˆØŠ=Ü*-¨a´°T·Z±Z³À1Õ1DÓ*EˆDÔ'Ùð �j‰j˜‹m˜BÕˆØ�m‰m˜CÓ ˆØ—	‘	˜%Ó ˆãˆDØ�}‰}˜U×#Ô#Ø˜’Hñ ð �R�y˜E "�IÖ,¨Ô,Ð,Ñ,Ð,Ð,à�"‘#ˆJàˆr   c                ó    <€ V ^8„  d   QhRS[ /# r#   r$   )r   r   s   "€r   r   r   “   s   ø€ ÷ ñ ¹Tñ r   c                óT   €  V P                   ^ ,          ^!8  #   \         d     R# i ; i)r   F)r   Ú
IndexErrorr   s   &r   Ú+is_next_line_obviously_invalid_request_lineÚ9ReceiveBuffer.is_next_line_obviously_invalid_request_line“   s.   € ð	ð —:‘:˜a•= 4Ñ'Ð'øÜô 	Úð	ús   ‚ ˜'¦')r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r    r(   r-   r1   r9   r=   rH   rX   r]   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r   /   sj   ø‡ € ÷(ð (÷
ð ÷ð ÷ð ÷!ð !÷ð ÷$ð $÷"ð "÷" ð  ÷Vö r   )ÚreÚsysÚtypingr   r   r   Ú__all__ÚcompileÚ	MULTILINErP   r   r   r   r   Ú<module>rk      s=   ðÛ 	Û 
ß (Ñ (àÐ
€ðN —:’:˜j¨"¯,©,Ó7Ð ÷jó jr   