+
    ¡~j£  ã                   óÖ   € R t ^ RIt^ RIt^ RIHtHtHtHtHt ^RI	H
t
 ^RIHtHt Rt ! R R4      t ! R R4      t]! ]4       ! R	 R
]4      4       t]! ]4       ! R R]4      4       tR# )am  
Payload implementation for coroutines as data provider.

As a simple case, you can upload data from file::

   @aiohttp.streamer
   async def file_sender(writer, file_name=None):
      with open(file_name, 'rb') as f:
          chunk = f.read(2**16)
          while chunk:
              await writer.write(chunk)

              chunk = f.read(2**16)

Then you can use `file_sender` like this:

    async with session.post('http://httpbin.org/post',
                            data=file_sender(file_name='huge_file')) as resp:
        print(await resp.text())

..note:: Coroutine must accept `writer` as first argument

N)ÚAnyÚ	AwaitableÚCallableÚDictÚTuple©ÚAbstractStreamWriter)ÚPayloadÚpayload_typeÚstreamerc                   óD   a € ] tR t^#t o V 3R lR ltV 3R lR ltRtV tR# )Ú_stream_wrapperc                ó|   <€ V ^8„  d   QhRS[ RS[R,          3,          RS[S[R3,          RS[S[S[3,          RR/# )é   Úcoro.NÚargsÚkwargsÚreturn)r   r   r   r   r   Ústr)ÚformatÚ__classdict__s   "€Úm/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/aiohttp/payload_streamer.pyÚ__annotate__Ú_stream_wrapper.__annotate__$   sQ   ø€ ÷ ñ ás™I dOÐ+Õ,ðñ ‘C˜Hoðñ ‘S™#X•ð	ð
 
ñó    c                óT   € \         P                  ! V4      V n        W n        W0n        R # ©N)ÚtypesÚ	coroutiner   r   r   )Úselfr   r   r   s   &&&&r   Ú__init__Ú_stream_wrapper.__init__$   s   € ô —O’O DÓ)ˆŒ	ØŒ	ØŽr   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   Úwriterr   Nr   )r   r   s   "€r   r   r   .   s   ø€ ÷ ;ñ ;Ñ%9ð ;¸dñ ;r   c              ƒ  óv   "  € V P                   ! V.V P                  O5/ V P                  B G R j  x€L
  R #  L5ir   )r   r   r   ©r   r$   s   &&r   Ú__call__Ú_stream_wrapper.__call__.   s)   é € ØiŠi˜Ð: §¡Ò:¨d¯k©kÑ:×:Ô:ùs   ‚.9°7±9)r   r   r   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r    r'   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r   #   s   ø‡ € ÷ð ÷;ö ;r   r   c                   óD   a € ] tR t^2t o V 3R lR ltV 3R lR ltRtV tR# )r   c                óF   <€ V ^8„  d   QhRS[ RS[R,          3,          RR/# )r   r   .Nr   )r   r   )r   r   s   "€r   r   Ústreamer.__annotate__3   s)   ø€ ÷ ñ ™X c©9°T­?Ð&:Õ;ð Àñ r   c                óL   € \         P                  ! R \        ^R7       Wn        R# )z5@streamer is deprecated, use async generators instead)Ú
stacklevelN)ÚwarningsÚwarnÚDeprecationWarningr   )r   r   s   &&r   r    Ústreamer.__init__3   s   € ÜŠØCÜØõ	
ð
 Ž	r   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r   r   r   r   )r   r   )r   r   s   "€r   r   r3   ;   s"   ø€ ÷ 8ñ 8™cð 8©Sð 8±_ñ 8r   c                ó.   € \        V P                  W4      # r   )r   r   )r   r   r   s   &*,r   r'   Ústreamer.__call__;   s   € Ü˜tŸy™y¨$Ó7Ð7r   )r   Nr)   r0   s   @r   r   r   2   s   ø‡ € ÷ð ÷8ö 8r   c                   óH   a € ] tR t^?t o V 3R lR ltRV 3R lR lltRtV tR# )ÚStreamWrapperPayloadc                ó$   <€ V ^8„  d   QhRS[ RR/# r#   r   )r   r   s   "€r   r   Ú!StreamWrapperPayload.__annotate__A   ó   ø€ ÷ "ñ "Ñ"6ð "¸4ñ "r   c              ƒ  óD   "  € V P                  V4      G R j  x€L
  R #  L5ir   ©Ú_valuer&   s   &&r   ÚwriteÚStreamWrapperPayload.writeA   ó   é € Øk‰k˜&Ó!×!Ô!ùó   ‚ —˜ c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r   ÚencodingÚerrorsr   )r   )r   r   s   "€r   r   r@   D   s"   ø€ ÷ -ñ -™sð -±cð -Éñ -r   c                ó   € \        R 4      h)zUnable to decode.)Ú	TypeError)r   rJ   rK   s   &&&r   ÚdecodeÚStreamWrapperPayload.decodeD   s   € ÜÐ+Ó,Ð,r   © N)zutf-8Ústrict)r*   r+   r,   r-   rE   rN   r.   r/   r0   s   @r   r>   r>   ?   s   ø‡ € ÷"ð "÷-÷ -ð -r   r>   c                   óP   a a€ ] tR t^Ht oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚStreamPayloadc                ó0   <€ V ^8„  d   QhRS[ RS[ RS[ RR/# )r   Úvaluer   r   r   N)r   )r   r   s   "€r   r   ÚStreamPayload.__annotate__J   s)   ø€ ÷ 3ñ 3™cð 3©#ð 3¹ð 3Àñ 3r   c                ó:   <€ \         SV `  ! V! 4       .VO5/ VB  R # r   )Úsuperr    )r   rU   r   r   Ú	__class__s   &&*,€r   r    ÚStreamPayload.__init__J   s   ø€ Ü‰Ò™›Ð2 4Ò2¨6Ô2r   c                ó$   <€ V ^8„  d   QhRS[ RR/# r#   r   )r   r   s   "€r   r   rV   M   rA   r   c              ƒ  óD   "  € V P                  V4      G R j  x€L
  R #  L5ir   rC   r&   s   &&r   rE   ÚStreamPayload.writeM   rG   rH   rP   )	r*   r+   r,   r-   r    rE   r.   r/   Ú__classcell__)rY   r   s   @@r   rS   rS   H   s   ù‡ € ÷3ó 3÷"÷ "ð "r   rS   )r   )Ú__doc__r   r6   Útypingr   r   r   r   r   Úabcr   Úpayloadr	   r
   Ú__all__r   r   r>   rS   rP   r   r   Ú<module>rd      sx   ðñó0 Û ß 8Õ 8å %ß *à
€÷;ñ ;÷
8ñ 
8ñ ˆoÓô-˜7ó -ó ð-ñ ˆhÓô"Ð(ó "ó ò"r   