+
    NV-j&  ã                  óX  € ^ RI Ht Rt^ RIHtHtHt ^ RIHt ^ RI	H
t
HtHt ^RIHtHtHtHtHtHtHtHt ]! R	4      t]! R
4      t]! RR7       ! R R]4      4       t]! RR7       ! R R]],          ]],          4      4       t]! RR7       ! R R]],          ]],          4      4       tR# )é    )ÚannotationsÚMultiListenerÚStapledByteStreamÚStapledObjectStream)ÚCallableÚMappingÚSequence)Ú	dataclass)ÚAnyÚGenericÚTypeVar)ÚByteReceiveStreamÚByteSendStreamÚ
ByteStreamÚListenerÚObjectReceiveStreamÚObjectSendStreamÚObjectStreamÚ	TaskGroupÚT_ItemÚT_StreamF)Úeqc                  óz   € ] tR t^t$ RtR]R&   R]R&   RR R lltR R	 ltR
 R ltR R lt	]
R R l4       tRtR# )r   a>  
Combines two byte streams into a single, bidirectional byte stream.

Extra attributes will be provided from both streams, with the receive stream
providing the values in case of a conflict.

:param ByteSendStream send_stream: the sending byte stream
:param ByteReceiveStream receive_stream: the receiving byte stream
r   Úsend_streamr   Úreceive_streamc               ó    € V ^8„  d   QhRRRR/# )é   Ú	max_bytesÚintÚreturnÚbytes© )Úformats   "Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/anyio/streams/stapled.pyÚ__annotate__ÚStapledByteStream.__annotate__+   s   € ÷ <ñ < sð <°uñ <ó    c              ƒ  	óT   "  € V P                   P                  V4      G R j  x€L
 #  L5i©N©r   Úreceive)Úselfr   s   &&r$   r+   ÚStapledByteStream.receive+   s"   é € Ø×(Ñ(×0Ñ0°Ó;×;Ð;Ñ;ùs   ‚(¡&¢(c               ó    € V ^8„  d   QhRRRR/# )r   Úitemr!   r    ÚNoner"   )r#   s   "r$   r%   r&   .   s   € ÷ *ñ *˜uð *¨ñ *r'   c              ƒ  	óX   "  € V P                   P                  V4      G R j  x€L
  R #  L5ir)   ©r   Úsend©r,   r/   s   &&r$   r3   ÚStapledByteStream.send.   ó   é € Ø×Ñ×#Ñ# DÓ)×)Ô)ùó   ‚*¡(¢*c               ó   € V ^8„  d   QhRR/# ©r   r    r0   r"   )r#   s   "r$   r%   r&   1   ó   € ÷ (ñ ( ñ (r'   c              ƒ  	óV   "  € V P                   P                  4       G R j  x€L
  R #  L5ir)   ©r   Úaclose©r,   s   &r$   Úsend_eofÚStapledByteStream.send_eof1   ó   é € Ø×Ñ×%Ñ%Ó'×'Ô'ùó   ‚) '¡)c               ó   € V ^8„  d   QhRR/# r9   r"   )r#   s   "r$   r%   r&   4   ó   € ÷ +ñ +˜dñ +r'   c              ƒ  	óž   "  € V P                   P                  4       G R j  x€L
  V P                  P                  4       G R j  x€L
  R #  L( L5ir)   ©r   r=   r   r>   s   &r$   r=   ÚStapledByteStream.aclose4   ó=   é € Ø×Ñ×%Ñ%Ó'×'Ð'Ø×!Ñ!×(Ñ(Ó*×*Ò*ñ 	(Ù*ùó!   ‚A A	¡!AÁAÁAÁAc               ó   € V ^8„  d   QhRR/# ©r   r    zMapping[Any, Callable[[], Any]]r"   )r#   s   "r$   r%   r&   9   ó   € ÷ 
ñ 
Ð"Añ 
r'   c                	ó^   € / V P                   P                  CV P                  P                  C# r)   ©r   Úextra_attributesr   r>   s   &r$   rO   Ú"StapledByteStream.extra_attributes8   ó4   € ð
Ø×Ñ×/Ñ/ð
à×!Ñ!×2Ñ2ð
ð 	
r'   r"   N)i   ©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r+   r3   r?   r=   ÚpropertyrO   Ú__static_attributes__r"   r'   r$   r   r      s=   ‡ ñð  ÓØ%Ó%÷<õ*õ(õ+ð ô
ó ô
r'   c                  óv   € ] tR t^@t$ RtR]R&   R]R&   R R ltR R	 ltR
 R ltR R lt	]
R R l4       tRtR# )r   aJ  
Combines two object streams into a single, bidirectional object stream.

Extra attributes will be provided from both streams, with the receive stream
providing the values in case of a conflict.

:param ObjectSendStream send_stream: the sending object stream
:param ObjectReceiveStream receive_stream: the receiving object stream
zObjectSendStream[T_Item]r   zObjectReceiveStream[T_Item]r   c               ó   € V ^8„  d   QhRR/# )r   r    r   r"   )r#   s   "r$   r%   Ú StapledObjectStream.__annotate__O   s   € ÷ 3ñ 3˜vñ 3r'   c              ƒ  	óR   "  € V P                   P                  4       G R j  x€L
 #  L5ir)   r*   r>   s   &r$   r+   ÚStapledObjectStream.receiveO   s    é € Ø×(Ñ(×0Ñ0Ó2×2Ð2Ñ2ùs   ‚' %¡'c               ó    € V ^8„  d   QhRRRR/# )r   r/   r   r    r0   r"   )r#   s   "r$   r%   r]   R   s   € ÷ *ñ *˜vð *¨$ñ *r'   c              ƒ  	óX   "  € V P                   P                  V4      G R j  x€L
  R #  L5ir)   r2   r4   s   &&r$   r3   ÚStapledObjectStream.sendR   r6   r7   c               ó   € V ^8„  d   QhRR/# r9   r"   )r#   s   "r$   r%   r]   U   r:   r'   c              ƒ  	óV   "  € V P                   P                  4       G R j  x€L
  R #  L5ir)   r<   r>   s   &r$   r?   ÚStapledObjectStream.send_eofU   rA   rB   c               ó   € V ^8„  d   QhRR/# r9   r"   )r#   s   "r$   r%   r]   X   rD   r'   c              ƒ  	óž   "  € V P                   P                  4       G R j  x€L
  V P                  P                  4       G R j  x€L
  R #  L( L5ir)   rF   r>   s   &r$   r=   ÚStapledObjectStream.acloseX   rH   rI   c               ó   € V ^8„  d   QhRR/# rK   r"   )r#   s   "r$   r%   r]   ]   rL   r'   c                	ó^   € / V P                   P                  CV P                  P                  C# r)   rN   r>   s   &r$   rO   Ú$StapledObjectStream.extra_attributes\   rQ   r'   r"   NrR   r"   r'   r$   r   r   @   s=   ‡ ñð *Ó)Ø/Ó/õ3õ*õ(õ+ð ô
ó ô
r'   c                  ód   € ] tR t^dt$ RtR]R&   R R ltRR R lltR	 R
 lt]	R R l4       t
RtR# )r   aŸ  
Combines multiple listeners into one, serving connections from all of them at once.

Any MultiListeners in the given collection of listeners will have their listeners
moved into this one.

Extra attributes are provided from each listener, with each successive listener
overriding any conflicting attributes from the previous one.

:param listeners: listeners to serve
:type listeners: Sequence[Listener[T_Stream]]
zSequence[Listener[T_Stream]]Ú	listenersc               ó   € V ^8„  d   QhRR/# r9   r"   )r#   s   "r$   r%   ÚMultiListener.__annotate__u   s   € ÷ 	#ñ 	#˜tñ 	#r'   c                	óÞ   € . pV P                    FT  p\        V\        4      '       d+   VP                  VP                   4       VP                   R  KC  VP	                  V4       KV  	  Wn         R# ):NNNN)rm   Ú
isinstancer   ÚextendÚappend)r,   rm   Úlisteners   &  r$   Ú__post_init__ÚMultiListener.__post_init__u   sY   € Ø.0ˆ	ØŸœˆHÜ˜(¤M×2Ò2Ø× Ñ  ×!3Ñ!3Ô4Ø×&Ñ& qÒ)à× Ñ  Ö*ñ 'ð #Žr'   Nc               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚhandlerzCallable[[T_Stream], Any]Ú
task_groupzTaskGroup | Noner    r0   r"   )r#   s   "r$   r%   ro   €   s)   € ÷ Cñ CØ0ðCØ>NðCà	ñCr'   c              ƒ  	ó
  "  € ^RI Hp V! 4       ;_uu_4       GRj  x€L
 pV P                   F  pVP                  VP                  W4       K!  	  RRR4      GRj  x€L
  R#  LE L  + GRj  x€L 
 '       g   i     R# ; i5i)r   )Úcreate_task_groupN)Ú r{   rm   Ú
start_soonÚserve)r,   rx   ry   r{   Útgrt   s   &&&   r$   r~   ÚMultiListener.serve€   sL   é € õ 	)á$×&×&Ô&¨"Ø ŸNœN�Ø—‘˜hŸn™n¨gÖBñ +÷ '×&×&×&×&×&üsJ   ‚BœA"�B 0A&ÁBÁA$ÁBÁ$BÁ&B 	Á,A/Á-
B 	Á8B 	Á:	Bc               ó   € V ^8„  d   QhRR/# r9   r"   )r#   s   "r$   r%   ro   ‰   s   € ÷ $ñ $˜dñ $r'   c              ƒ  	óh   "  € V P                    F  pVP                  4       G R j  x€L
  K  	  R #  L
5ir)   )rm   r=   )r,   rt   s   & r$   r=   ÚMultiListener.aclose‰   s&   é € ØŸœˆHØ—/‘/Ó#×#Ò#ó 'Ù#ùs   ‚#2¥0¦2c               ó   € V ^8„  d   QhRR/# rK   r"   )r#   s   "r$   r%   ro   Ž   s   € ÷ ñ Ð"Añ r'   c                	óf   € / pV P                    F  pVP                  VP                  4       K   	  V# r)   )rm   ÚupdaterO   )r,   Ú
attributesrt   s   &  r$   rO   ÚMultiListener.extra_attributes�   s1   € àˆ
ØŸœˆHØ×Ñ˜h×7Ñ7Ö8ñ 'ð Ðr'   )rm   r)   )rS   rT   rU   rV   rW   rX   ru   r~   r=   rY   rO   rZ   r"   r'   r$   r   r   d   s3   ‡ ñð ,Ó+õ	#÷Cõ$ð ôó ôr'   N)r   r   r   )Ú
__future__r   Ú__all__Úcollections.abcr   r   r	   Údataclassesr
   Útypingr   r   r   Úabcr   r   r   r   r   r   r   r   r   r   r   r   r   r"   r'   r$   Ú<module>r�      s¾   ðÝ "ð€÷ 8Ñ 7Ý !ß (Ñ (÷	÷ 	ó 	ñ 
�Ó	€Ù�:Ó€ñ ˆeÔô 
˜
ó  
ó ð 
ñF ˆeÔô 
˜' &�/¨<¸Õ+?ó  
ó ð 
ñF ˆeÔô.�G˜HÕ% x°Õ'9ó .ó ò.r'   