§
    Àir\  ã                   óÄ  — U d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZ ddlmZ ddlmZmZmZmZmZ ddlmZ dZ ed¦  «        Z G d	„ d
e¦  «        Z G d„ dee         ¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z e¦   «         Z ee         e!d<    G d„ dee         ¦  «        Z" G d„ de"e         ¦  «        Z#dS )é    N)	Ú	AwaitableÚCallableÚDequeÚFinalÚGenericÚListÚOptionalÚTupleÚTypeVaré   )ÚBaseProtocol)Ú_EXC_SENTINELÚBaseTimerContextÚ	TimerNoopÚset_exceptionÚ
set_result)Úinternal_logger)ÚEMPTY_PAYLOADÚ	EofStreamÚStreamReaderÚ	DataQueueÚ_Tc                   ó   — e Zd ZdZdS )r   zeof stream indication.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úT/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/aiohttp/streams.pyr   r   $   s   € € € € € Ø Ð Ð Ð r   r   c                   óR   — e Zd ZdZdeg ee         f         ddfd„Zd	d„Zdefd„Z	dS )
ÚAsyncStreamIterator©Ú	read_funcr$   ÚreturnNc                 ó   — || _         d S ©Nr#   )Úselfr$   s     r    Ú__init__zAsyncStreamIterator.__init__,   s   € Ø"ˆŒˆˆr   úAsyncStreamIterator[_T]c                 ó   — | S r'   r   ©r(   s    r    Ú	__aiter__zAsyncStreamIterator.__aiter__/   ó   € Øˆr   c              ƒ   ó†   K  — 	 |                       ¦   «         ƒ d {V —†}n# t          $ r t          ‚w xY w|dk    rt          ‚|S ©Nr   )r$   r   ÚStopAsyncIteration©r(   Úrvs     r    Ú	__anext__zAsyncStreamIterator.__anext__2   sc   è è € ð	%Ø—~’~Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'ˆBˆBøÝð 	%ð 	%ð 	%Ý$Ð$ð	%øøøà�Š9ˆ9Ý$Ð$Øˆ	s   „ Ÿ1)r%   r*   )
r   r   r   Ú	__slots__r   r   r   r)   r-   r4   r   r   r    r"   r"   (   sx   € € € € € à€Ið# (¨2¨y¸¬}Ð+<Ô"=ð #À$ð #ð #ð #ð #ðð ð ð ð ð ð ð ð ð ð r   r"   c                   ó>   — e Zd ZdZd	d„Zd
d„Zdeeef         fd„Z	dS )ÚChunkTupleAsyncStreamIterator©Ú_streamÚstreamr   r%   Nc                 ó   — || _         d S r'   r8   )r(   r:   s     r    r)   z&ChunkTupleAsyncStreamIterator.__init__@   s   € ØˆŒˆˆr   c                 ó   — | S r'   r   r,   s    r    r-   z'ChunkTupleAsyncStreamIterator.__aiter__C   r.   r   c              ƒ   ób   K  — | j                              ¦   «         ƒ d {V —†}|dk    rt          ‚|S )N©r   F)r9   Ú	readchunkr1   r2   s     r    r4   z'ChunkTupleAsyncStreamIterator.__anext__F   sA   è è € Ø”<×)Ò)Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+ˆØ�ÒÐÝ$Ð$Øˆ	r   )r:   r   r%   N)r%   r7   )
r   r   r   r5   r)   r-   r
   ÚbytesÚboolr4   r   r   r    r7   r7   <   se   € € € € € à€Iðð ð ð ðð ð ð ð  u¨d {Ô!3ð ð ð ð ð ð r   r7   c                   ój   — e Zd ZdZdee         fd„Zdedee         fd„Zdee         fd„Z	de
fd„ZdS )	ÚAsyncStreamReaderMixinr   r%   c                 ó*   — t          | j        ¦  «        S r'   )r"   Úreadliner,   s    r    r-   z AsyncStreamReaderMixin.__aiter__Q   s   € Ý" 4¤=Ñ1Ô1Ð1r   Únc                 ó,   ‡ ‡— t          ˆˆ fd„¦  «        S )z>Returns an asynchronous iterator that yields chunks of size n.c                  ó.   •— ‰                      ‰ ¦  «        S r'   )Úread)rF   r(   s   €€r    ú<lambda>z5AsyncStreamReaderMixin.iter_chunked.<locals>.<lambda>V   s   ø€ ¨4¯9ª9°Q©<¬<€ r   )r"   ©r(   rF   s   ``r    Úiter_chunkedz#AsyncStreamReaderMixin.iter_chunkedT   s   øø€ å"Ð#7Ð#7Ð#7Ð#7Ð#7Ñ8Ô8Ð8r   c                 ó*   — t          | j        ¦  «        S )z3Yield all available data as soon as it is received.)r"   Úreadanyr,   s    r    Úiter_anyzAsyncStreamReaderMixin.iter_anyX   s   € å" 4¤<Ñ0Ô0Ð0r   c                 ó    — t          | ¦  «        S )z´Yield chunks of data as they are received by the server.

        The yielded objects are tuples
        of (bytes, bool) as returned by the StreamReader.readchunk method.
        )r7   r,   s    r    Úiter_chunksz"AsyncStreamReaderMixin.iter_chunks\   s   € õ -¨TÑ2Ô2Ð2r   N)r   r   r   r5   r"   r@   r-   ÚintrL   rO   r7   rQ   r   r   r    rC   rC   M   sŸ   € € € € € à€Ið2Ð.¨uÔ5ð 2ð 2ð 2ð 2ð9˜cð 9Ð&9¸%Ô&@ð 9ð 9ð 9ð 9ð1Ð-¨eÔ4ð 1ð 1ð 1ð 1ð3Ð:ð 3ð 3ð 3ð 3ð 3ð 3r   rC   c                   óø  — e Zd ZdZdZdddœdededee         dee	j
                 d	df
d
„Zd	efd„Zd	eeef         fd„Zd	ee         fd„Zefdeded	dfd„Zdeg df         d	dfd„Zd.d„Zd	efd„Zd	efd„Zd.d„Zed	efd„¦   «         Zded	dfd„Zd/deded	dfd„Zd.d„Z d.d„Z!ded	dfd „Z"d	efd!„Z#d0d#ed	efd$„Z$d1d&ed	efd'„Z%d	efd(„Z&d	eeef         fd)„Z'd&ed	efd*„Z(d1d&ed	efd+„Z)d&ed	efd,„Z*d&ed	efd-„Z+dS )2r   a*  An enhancement of asyncio.StreamReader.

    Supports asynchronous iteration by line, chunk or as available::

        async for line in reader:
            ...
        async for chunk in reader.iter_chunked(1024):
            ...
        async for slice in reader.iter_any():
            ...

    )Ú	_protocolÚ
_low_waterÚ_high_waterÚ_low_water_chunksÚ_high_water_chunksÚ_loopÚ_sizeÚ_cursorÚ_http_chunk_splitsÚ_bufferÚ_buffer_offsetÚ_eofÚ_waiterÚ_eof_waiterÚ
_exceptionÚ_timerÚ_eof_callbacksÚ_eof_counterÚtotal_bytesÚtotal_compressed_bytesN)ÚtimerÚloopÚprotocolÚlimitrh   ri   r%   c                óÞ  — || _         || _        |dz  | _        |€t          j        ¦   «         }t          d|dz  ¦  «        | _        t          d| j        dz  ¦  «        | _        || _        d| _	        d| _
        d | _        t          j        ¦   «         | _        d| _        d| _        d | _        d | _        d | _        |€t)          ¦   «         n|| _        g | _        d| _        d| _        d | _        d S )Né   é   é   r   F)rT   rU   rV   ÚasyncioÚget_event_loopÚmaxrX   rW   rY   rZ   r[   r\   ÚcollectionsÚdequer]   r^   r_   r`   ra   rb   r   rc   rd   re   rf   rg   )r(   rj   rk   rh   ri   s        r    r)   zStreamReader.__init__Š   sî   € ð "ˆŒØˆŒØ  1™9ˆÔØˆ<ÝÔ)Ñ+Ô+ˆDå"% a¨°!©Ñ"4Ô"4ˆÔõ "% Q¨Ô(?À1Ñ(DÑ!EÔ!EˆÔØˆŒ
ØˆŒ
ØˆŒØ8<ˆÔÝ%0Ô%6Ñ%8Ô%8ˆŒØˆÔØˆŒ	Ø7;ˆŒØ;?ˆÔØ37ˆŒØ%* ]•i‘k”k�k¸ˆŒØ8:ˆÔØˆÔØˆÔØ59ˆÔ#Ð#Ð#r   c                 óº  — | j         j        g}| j        r|                     d| j        z  ¦  «         | j        r|                     d¦  «         | j        dk    r$|                     d| j        | j        fz  ¦  «         | j        r|                     d| j        z  ¦  «         | j        r|                     d| j        z  ¦  «         dd 	                    |¦  «        z  S )	Nz%d bytesÚeofi   zlow=%d high=%dzw=%rze=%rú<%s>Ú )
Ú	__class__r   rZ   Úappendr_   rU   rV   r`   rb   Újoin)r(   Úinfos     r    Ú__repr__zStreamReader.__repr__¬   sØ   € Ø”Ô'Ð(ˆØŒ:ð 	1Ø�KŠK˜
 T¤ZÑ/Ñ0Ô0Ð0ØŒ9ð 	Ø�KŠK˜ÑÔÐØŒ?˜eÒ#Ð#Ø�KŠKÐ(¨D¬O¸TÔ=MÐ+NÑNÑOÔOÐOØŒ<ð 	/Ø�KŠK˜ ¤Ñ-Ñ.Ô.Ð.ØŒ?ð 	2Ø�KŠK˜ ¤Ñ0Ñ1Ô1Ð1Ø˜Ÿš ™œÑ&Ð&r   c                 ó   — | j         | j        fS r'   )rU   rV   r,   s    r    Úget_read_buffer_limitsz#StreamReader.get_read_buffer_limitsº   s   € Ø” Ô!1Ð2Ð2r   c                 ó   — | j         S r'   ©rb   r,   s    r    Ú	exceptionzStreamReader.exception½   ó
   € ØŒÐr   ÚexcÚ	exc_causec                 óÎ   — || _         | j                             ¦   «          | j        }|�d | _        t	          |||¦  «         | j        }|�d | _        t	          |||¦  «         d S d S r'   )rb   rd   Úclearr`   r   ra   ©r(   r„   r…   Úwaiters       r    r   zStreamReader.set_exceptionÀ   s|   € ð
 ˆŒØÔ×!Ò!Ñ#Ô#Ð#à”ˆØÐØˆDŒLÝ˜& # yÑ1Ô1Ð1àÔ!ˆØÐØ#ˆDÔÝ˜& # yÑ1Ô1Ð1Ð1Ð1ð Ðr   Úcallbackc                 ó¬   — | j         r2	  |¦   «          d S # t          $ r t          j        d¦  «         Y d S w xY w| j                             |¦  «         d S ©NúException in eof callback)r_   Ú	Exceptionr   r‚   rd   rz   ©r(   rŠ   s     r    Úon_eofzStreamReader.on_eofÒ   sz   € ØŒ9ð 	1ðGØ�‘
”
�
�
�
øÝð Gð Gð GÝÔ)Ð*EÑFÔFÐFÐFÐFÐFðGøøøð Ô×&Ò& xÑ0Ô0Ð0Ð0Ð0s   ‰
 •7¶7c                 ó‚  — d| _         | j        }|�d | _        t          |d ¦  «         | j        }|�d | _        t          |d ¦  «         | j        j        r| j                             ¦   «          | j        D ]1}	  |¦   «          Œ# t          $ r t          j
        d¦  «         Y Œ.w xY w| j                             ¦   «          d S )NTr�   )r_   r`   r   ra   rT   Ú_reading_pausedÚresume_readingrd   rŽ   r   r‚   r‡   )r(   r‰   Úcbs      r    Úfeed_eofzStreamReader.feed_eofÛ   sï   € ØˆŒ	à”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àÔ!ˆØÐØ#ˆDÔÝ�v˜tÑ$Ô$Ð$àŒ>Ô)ð 	,ØŒN×)Ò)Ñ+Ô+Ð+àÔ%ð 	Gð 	GˆBðGØ�‘”��øÝð Gð Gð GÝÔ)Ð*EÑFÔFÐFÐFÐFðGøøøð 	Ô×!Ò!Ñ#Ô#Ð#Ð#Ð#s   Á7
BÂB#Â"B#c                 ó   — | j         S )z&Return True if  'feed_eof' was called.©r_   r,   s    r    Úis_eofzStreamReader.is_eofó   s
   € àŒyÐr   c                 ó    — | j         o| j         S )z=Return True if the buffer is empty and 'feed_eof' was called.©r_   r]   r,   s    r    Úat_eofzStreamReader.at_eof÷   s   € àŒyÐ- ¤Ð-Ð-r   c              ƒ   ó¬   K  — | j         rd S | j        �J ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† d | _        d S # d | _        w xY wr'   )r_   ra   rY   Úcreate_futurer,   s    r    Úwait_eofzStreamReader.wait_eofû   s|   è è € ØŒ9ð 	ØˆFàÔÐ'Ð'Ð'Øœ:×3Ò3Ñ5Ô5ˆÔð	$ØÔ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"à#ˆDÔÐÐø˜tˆDÔÐ#Ð#Ð#Ð#s   ´A
 Á
	Ac                 ó,   — | j         €| j        S | j         S r'   )rg   rf   r,   s    r    Útotal_raw_byteszStreamReader.total_raw_bytes  s   € àÔ&Ð.ØÔ#Ð#ØÔ*Ð*r   Údatac                 ó\  — t          j        dt          d¬¦  «         |sdS | j        r)| j        d         | j        d…         | j        d<   d| _        | xj        t          |¦  «        z  c_        | xj        t          |¦  «        z  c_        | j                             |¦  «         d| _	        dS )zDrollback reading some data from stream, inserting it to buffer head.zJunread_data() is deprecated and will be removed in future releases (#3260)rm   )Ú
stacklevelNr   )
ÚwarningsÚwarnÚDeprecationWarningr^   r]   rZ   Úlenr[   Ú
appendleftre   )r(   r¡   s     r    Úunread_datazStreamReader.unread_data  s·   € åŒð=åØð		
ñ 	
ô 	
ð 	
ð ð 	ØˆFàÔð 	$Ø"œl¨1œo¨dÔ.AÐ.CÐ.CÔDˆDŒL˜‰OØ"#ˆDÔØˆ
Œ
•c˜$‘i”iÑˆ
Œ
ØˆŒ�˜D™	œ	Ñ!ˆŒØŒ×Ò Ñ%Ô%Ð%ØˆÔÐÐr   r   Úsizec                 ót  — | j         r
J d¦   «         ‚|sd S t          |¦  «        }| xj        |z  c_        | j                             |¦  «         | xj        |z  c_        | j        }|�d | _        t          |d ¦  «         | j        | j        k    r'| j	        j
        s| j	                             ¦   «          d S d S d S )Nzfeed_data after feed_eof)r_   r§   rZ   r]   rz   rf   r`   r   rV   rT   r’   Úpause_reading)r(   r¡   rª   Údata_lenr‰   s        r    Ú	feed_datazStreamReader.feed_data   sÑ   € Ø”9Ð8Ð8Ð8Ñ8Ô8Ð8àð 	ØˆFå�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØŒ×Ò˜DÑ!Ô!Ð!ØÐÔ˜HÑ$ÐÔà”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$àŒ:˜Ô(Ò(Ð(°´Ô1OÐ(ØŒN×(Ò(Ñ*Ô*Ð*Ð*Ð*ð )Ð(Ð(Ð(r   c                 ót   — | j         €0| j        rt          d¦  «        ‚t          j        ¦   «         | _         d S d S )Nz@Called begin_http_chunk_receiving when some data was already fed)r\   rf   ÚRuntimeErrorrs   rt   r,   s    r    Úbegin_http_chunk_receivingz'StreamReader.begin_http_chunk_receiving3  sL   € ØÔ"Ð*ØÔð Ý"ØVñô ð õ '2Ô&7Ñ&9Ô&9ˆDÔ#Ð#Ð#ð +Ð*r   c                 ó~  — | j         €t          d¦  «        ‚| j         r| j         d         nd}| j        |k    rd S | j                              | j        ¦  «         t	          | j         ¦  «        | j        k    r%| j        j        s| j                             ¦   «          | j	        }|�d | _	        t          |d ¦  «         d S d S )NzFCalled end_chunk_receiving without calling begin_chunk_receiving firstéÿÿÿÿr   )r\   r°   rf   rz   r§   rX   rT   r’   r¬   r`   r   )r(   Úposr‰   s      r    Úend_http_chunk_receivingz%StreamReader.end_http_chunk_receiving;  sà   € ØÔ"Ð*Ýð.ñô ð ð .2Ô-DÐKˆdÔ% bÔ)Ð)È!ˆàÔ˜sÒ"Ð"ð ˆFàÔ×&Ò& tÔ'7Ñ8Ô8Ð8õ �Ô'Ñ(Ô(¨4Ô+BÒBÐBØ”NÔ2ð Cð ŒN×(Ò(Ñ*Ô*Ð*ð ”ˆØÐØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð Ðr   Ú	func_namec              ƒ   ó(  K  — | j         j        st          d¦  «        ‚| j        �t          d|z  ¦  «        ‚| j                             ¦   «         x}| _        	 | j        5  |ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   d | _        d S # d | _        w xY w)NzConnection closed.zH%s() called while another coroutine is already waiting for incoming data)rT   Ú	connectedr°   r`   rY   r�   rc   )r(   r¶   r‰   s      r    Ú_waitzStreamReader._waitb  sû   è è € ØŒ~Ô'ð 	5ÝÐ3Ñ4Ô4Ð4ð Œ<Ð#Ýð4Ø6?ñ@ñô ð ð
 !%¤
× 8Ò 8Ñ :Ô :Ð:ˆ�”ð	 Ø”ð ð Ø�������ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð  ˆDŒLˆLˆLø˜4ˆDŒLÐÐÐÐs0   ÁB Á	A4Á(B Á4A8Á8B Á;A8Á<B Â	Bc              ƒ   ó:   K  — |                       ¦   «         ƒ d {V —†S r'   )Ú	readuntilr,   s    r    rE   zStreamReader.readlinew  s(   è è € Ø—^’^Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%r   ó   
Ú	separatorc              ƒ   óô  K  — t          |¦  «        }|dk    rt          d¦  «        ‚| j        �| j        ‚d}d}d}|r»| j        r�|r‹| j        }| j        d                              ||¦  «        dz   }|                      |r||z
  |z   dz
  nd¦  «        }||z  }|t          |¦  «        z  }|rd}|| j        k    rt          d¦  «        ‚| j        r|°‹| j        rn|r|  	                    d	¦  «        ƒ d {V —† |°»|S )
Nr   z,Separator should be at least one-byte stringr   Tr   r³   FzChunk too bigr»   )
r§   Ú
ValueErrorrb   r]   r^   ÚfindÚ_read_nowait_chunkrV   r_   r¹   )	r(   r½   ÚseplenÚchunkÚ
chunk_sizeÚ
not_enoughÚoffsetÚicharr¡   s	            r    r»   zStreamReader.readuntilz  s\  è è € Ý�Y‘”ˆØ�QŠ;ˆ;ÝÐKÑLÔLÐLàŒ?Ð&Ø”/Ð!àˆØˆ
Øˆ
àð 	.Ø”,ð 6 :ð 6ØÔ,�Øœ Qœ×,Ò,¨Y¸Ñ?Ô?À!ÑC�à×.Ò.Ø38Ð@�E˜F‘N VÑ+¨aÑ/Ð/¸bñô �ð ˜‘�Ø�c $™iœiÑ'�
Øð 'Ø!&�Jà Ô 0Ò0Ð0Ý$ _Ñ5Ô5Ð5ð ”,ð 6 :ð 6ð Œyð Øàð .Ø—j’j Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ð) ð 	.ð, ˆr   r³   rF   c              ƒ   óö  K  — | j         �| j         ‚	 | j        rA| j        s:t          | dd¦  «        dz   | _        | j        dk    rt          j        dd¬¦  «         |sdS |dk     rKg }	 |                      ¦   «         ƒ d {V —†}|sn|                     |¦  «         Œ3d 	                    |¦  «        S | j        s0| j        s)|  
                    d	¦  «        ƒ d {V —† | j        s| j        ¯)|                      |¦  «        S )
NTre   r   r   é   zEMultiple access to StreamReader in eof state, might be infinite loop.)Ú
stack_infor   rI   )rb   r_   r]   Úgetattrre   r   ÚwarningrN   rz   r{   r¹   Ú_read_nowait)r(   rF   ÚblocksÚblocks       r    rI   zStreamReader.readž  sT  è è € ØŒ?Ð&Ø”/Ð!ð	ØŒyð  ¤ð Ý$+¨D°.À!Ñ$DÔ$DÀqÑ$H�Ô!ØÔ$ qÒ(Ð(Ý#Ô+ð2à#'ðñ ô ð ð ð 	Ø�3àˆqŠ5ˆ5ð
 ˆFð%Ø"Ÿlšl™nœnÐ,Ð,Ð,Ð,Ð,Ð,�Øð ØØ—’˜eÑ$Ô$Ð$ð	%ð
 —8’8˜FÑ#Ô#Ð#ð
 ”,ð 	% t¤yð 	%Ø—*’*˜VÑ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ð ”,ð 	% t¤yð 	%ð × Ò  Ñ#Ô#Ð#r   c              ƒ   óº   K  — | j         �| j         ‚| j        s0| j        s)|                      d¦  «        ƒ d {V —† | j        s| j        ¯)|                      d¦  «        S )NrN   r³   )rb   r]   r_   r¹   rÍ   r,   s    r    rN   zStreamReader.readanyÈ  sz   è è € ØŒ?Ð&Ø”/Ð!ð
 ”,ð 	( t¤yð 	(Ø—*’*˜YÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ð ”,ð 	( t¤yð 	(ð × Ò  Ñ$Ô$Ð$r   c              ƒ   óŽ  K  — 	 | j         �| j         ‚| j        rk| j                             ¦   «         }|| j        k    rdS || j        k    r|                      || j        z
  ¦  «        dfS t          j        d¦  «         | j        °k| j        r|                      d¦  «        dfS | j	        rdS |  
                    d¦  «        ƒ d{V —† ŒÃ)	a  Returns a tuple of (data, end_of_http_chunk).

        When chunked transfer
        encoding is used, end_of_http_chunk is a boolean indicating if the end
        of the data corresponds to the end of a HTTP chunk , otherwise it is
        always False.
        TN©r   TzESkipping HTTP chunk end due to data consumption beyond chunk boundaryr³   Fr>   r?   )rb   r\   Úpopleftr[   rÍ   r   rÌ   r]   rÁ   r_   r¹   )r(   r´   s     r    r?   zStreamReader.readchunkÔ  s  è è € ð	*ØŒÐ*Ø”oÐ%àÔ)ð 	ØÔ-×5Ò5Ñ7Ô7�Ø˜$œ,Ò&Ð&Ø&˜;Ø˜œÒ%Ð%Ø ×-Ò-¨c°D´LÑ.@ÑAÔAÀ4ÐHÐHÝÔ'ð8ñô ð ð Ô)ð 	ð Œ|ð <Ø×/Ò/°Ñ3Ô3°UÐ;Ð;ð Œyð $ð $�|à—*’*˜[Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ð1	*r   c              ƒ   ód  K  — | j         �| j         ‚g }|dk    r„|                      |¦  «        ƒ d {V —†}|s:d                     |¦  «        }t          j        |t          |¦  «        |z   ¦  «        ‚|                     |¦  «         |t          |¦  «        z  }|dk    °„d                     |¦  «        S )Nr   r   )rb   rI   r{   rp   ÚIncompleteReadErrorr§   rz   )r(   rF   rÎ   rÏ   Úpartials        r    ÚreadexactlyzStreamReader.readexactlyö  s½   è è € ØŒ?Ð&Ø”/Ð!à ˆØ�!ŠeˆeØŸ)š) A™,œ,Ð&Ð&Ð&Ð&Ð&Ð&ˆEØð MØŸ(š( 6Ñ*Ô*�ÝÔ1°'½3¸w¹<¼<È!Ñ;KÑLÔLÐLØ�MŠM˜%Ñ Ô Ð Ø•�U‘”‰OˆAð �!Šeˆeð �xŠx˜ÑÔÐr   c                 ó¦   — | j         �| j         ‚| j        r(| j                             ¦   «         st          d¦  «        ‚|                      |¦  «        S )Nz9Called while some coroutine is waiting for incoming data.)rb   r`   Údoner°   rÍ   rK   s     r    Úread_nowaitzStreamReader.read_nowait  s^   € ð
 Œ?Ð&Ø”/Ð!àŒ<ð 	 ¤× 1Ò 1Ñ 3Ô 3ð 	ÝØKñô ð ð × Ò  Ñ#Ô#Ð#r   c                 óÀ  — | j         d         }| j        }|dk    r4t          |¦  «        |z
  |k    r||||z   …         }| xj        |z  c_        nF|r+| j                              ¦   «          ||d …         }d| _        n| j                              ¦   «         }t          |¦  «        }| xj        |z  c_        | xj        |z  c_        | j        }|r8|d         | j        k     r'|                     ¦   «          |r|d         | j        k     °'| j        j        rM| j        | j	        k     r=| j        �t          | j        ¦  «        | j
        k     r| j                             ¦   «          |S )Nr   r³   )r]   r^   r§   rÓ   rZ   r[   r\   rT   r’   rU   rW   r“   )r(   rF   Úfirst_bufferrÆ   r¡   r­   Úchunk_splitss          r    rÁ   zStreamReader._read_nowait_chunk  s{  € Ø”| A”ˆØÔ$ˆØ�Š7ˆ7•s˜<Ñ(Ô(¨6Ñ1°AÒ5Ð5Ø ¨°!©Ð 3Ô4ˆDØÐÔ 1Ñ$ÐÔÐàð 	*ØŒL× Ò Ñ"Ô"Ð"Ø   Ô(ˆDØ"#ˆDÔÐð ”<×'Ò'Ñ)Ô)ˆDå�t‘9”9ˆØˆ
Œ
�hÑˆ
Œ
ØˆŒ˜Ñ ˆŒàÔ.ˆàð 	#˜|¨Aœ°´Ò=Ð=Ø× Ò Ñ"Ô"Ð"ð ð 	#˜|¨Aœ°´Ò=Ð=ð ŒNÔ*ð	,à”
˜Tœ_Ò,Ð,àÔ'Ð/Ý�tÔ.Ñ/Ô/°$Ô2HÒHÐHð ŒN×)Ò)Ñ+Ô+Ð+Øˆr   c                 ó  — | j                              ¦   «          g }| j        rP|                      |¦  «        }|                     |¦  «         |dk    r|t          |¦  «        z  }|dk    rn| j        °P|rd                     |¦  «        ndS )z6Read not more than n bytes, or whole buffer if n == -1r³   r   r   )rc   Úassert_timeoutr]   rÁ   rz   r§   r{   )r(   rF   ÚchunksrÃ   s       r    rÍ   zStreamReader._read_nowait7  s˜   € àŒ×"Ò"Ñ$Ô$Ð$àˆØŒlð 	Ø×+Ò+¨AÑ.Ô.ˆEØ�MŠM˜%Ñ Ô Ð Ø�BŠwˆwØ•S˜‘Z”Z‘�Ø˜’6�6Øð Œlð 	ð $*Ð2ˆs�xŠx˜ÑÔÐ¨sÐ2r   ©r%   N©r   )r¼   ©r³   ),r   r   r   r   r5   r   rR   r	   r   rp   ÚAbstractEventLoopr)   Ústrr}   r
   r   ÚBaseExceptionr‚   r   r   r   r�   r•   rA   r˜   r›   rž   Úpropertyr    r@   r©   r®   r±   rµ   r¹   rE   r»   rI   rN   r?   r×   rÚ   rÁ   rÍ   r   r   r    r   r   e   s¦  € € € € € ðð ð€Ið8 -1Ø48ð :ð  :ð  :àð :ð ð :ð
 Ð(Ô)ð :ð �wÔ0Ô1ð :ð 
ð :ð  :ð  :ð  :ðD'˜#ð 'ð 'ð 'ð 'ð3¨¨c°3¨h¬ð 3ð 3ð 3ð 3ð˜8 MÔ2ð ð ð ð ð $1ð2ð 2àð2ð !ð2ð 
ð	2ð 2ð 2ð 2ð$1˜x¨¨D¨Ô1ð 1°dð 1ð 1ð 1ð 1ð$ð $ð $ð $ð0˜ð ð ð ð ð.˜ð .ð .ð .ð .ð	$ð 	$ð 	$ð 	$ð ð+ ð +ð +ð +ñ „Xð+ð
 ð ¨$ð ð ð ð ð(+ð +˜eð +¨3ð +°tð +ð +ð +ð +ð&:ð :ð :ð :ð%%ð %%ð %%ð %%ðN  Sð  ¨Tð  ð  ð  ð  ð*& ð &ð &ð &ð &ð"ð "¨ð "¸5ð "ð "ð "ð "ðH($ð ($˜Cð ($¨ð ($ð ($ð ($ð ($ðT
%˜uð 
%ð 
%ð 
%ð 
%ð *  u¨d {Ô!3ð  *ð  *ð  *ð  *ðD  3ð  ¨5ð  ð  ð  ð  ð$ð $˜Sð $¨%ð $ð $ð $ð $ð! Cð !¨Eð !ð !ð !ð !ðF3˜cð 3 eð 3ð 3ð 3ð 3ð 3ð 3r   r   c                   ó  — e Zd ZdZdd„Zdefd„Zdee         fd„Z	e
fdededdfd	„Zd
eg df         ddfd„Zdd„Zdefd„Zdefd„Zdd„Zddededdfd„Zdefd„Zddedefd„Zdefd„Zdeeef         fd„Zdedefd„Zddedefd„ZdS )ÚEmptyStreamReader©Ú_read_eof_chunkr%   Nc                 ó"   — d| _         d| _        d S )NFr   )rë   rf   r,   s    r    r)   zEmptyStreamReader.__init__K  s   € Ø$ˆÔØˆÔÐÐr   c                 ó    — d| j         j        z  S )Nrw   )ry   r   r,   s    r    r}   zEmptyStreamReader.__repr__O  s   € Ø˜œÔ/Ñ/Ð/r   c                 ó   — d S r'   r   r,   s    r    r‚   zEmptyStreamReader.exceptionR  ó   € Øˆtr   r„   r…   c                 ó   — d S r'   r   )r(   r„   r…   s      r    r   zEmptyStreamReader.set_exceptionU  s	   € ð
 	ˆr   rŠ   c                 óf   — 	  |¦   «          d S # t           $ r t          j        d¦  «         Y d S w xY wrŒ   )rŽ   r   r‚   r�   s     r    r�   zEmptyStreamReader.on_eof\  sQ   € ð	CØˆH‰JŒJˆJˆJˆJøÝð 	Cð 	Cð 	CÝÔ%Ð&AÑBÔBÐBÐBÐBÐBð	Cøøøs   ‚
 Ž0¯0c                 ó   — d S r'   r   r,   s    r    r•   zEmptyStreamReader.feed_eofb  ó   € Øˆr   c                 ó   — dS ©NTr   r,   s    r    r˜   zEmptyStreamReader.is_eofe  rï   r   c                 ó   — dS rõ   r   r,   s    r    r›   zEmptyStreamReader.at_eofh  rï   r   c              ƒ   ó
   K  — d S r'   r   r,   s    r    rž   zEmptyStreamReader.wait_eofk  s   è è € Øˆr   r   r¡   rF   c                 ó   — d S r'   r   )r(   r¡   rF   s      r    r®   zEmptyStreamReader.feed_datan  ró   r   c              ƒ   ó
   K  — dS r0   r   r,   s    r    rE   zEmptyStreamReader.readlineq  ó   è è € Øˆsr   r³   c              ƒ   ó
   K  — dS r0   r   rK   s     r    rI   zEmptyStreamReader.readt  rú   r   c              ƒ   ó
   K  — dS r0   r   r,   s    r    rN   zEmptyStreamReader.readanyy  rú   r   c              ƒ   ó*   K  — | j         s	d| _         dS dS )NTr>   rÒ   rê   r,   s    r    r?   zEmptyStreamReader.readchunk|  s#   è è € ØÔ#ð 	 Ø#'ˆDÔ Ø�<àˆ{r   c              ƒ   ó0   K  — t          j        d|¦  «        ‚r0   )rp   rÕ   rK   s     r    r×   zEmptyStreamReader.readexactlyƒ  s   è è € ÝÔ)¨#¨qÑ1Ô1Ð1r   c                 ó   — dS r0   r   rK   s     r    rÚ   zEmptyStreamReader.read_nowait†  s   € Øˆsr   rá   râ   rã   )r   r   r   r5   r)   rå   r}   r	   ræ   r‚   r   r   r   r�   r•   rA   r˜   r›   rž   r@   rR   r®   rE   rI   rN   r
   r?   r×   rÚ   r   r   r    ré   ré   G  s)  € € € € € à$€Iðð ð ð ð0˜#ð 0ð 0ð 0ð 0ð˜8 MÔ2ð ð ð ð ð $1ðð àðð !ðð 
ð	ð ð ð ðC˜x¨¨D¨Ô1ð C°dð Cð Cð Cð Cðð ð ð ð˜ð ð ð ð ð˜ð ð ð ð ðð ð ð ðð ˜eð ¨ð °Dð ð ð ð ð ð ð ð ð ðð ˜Cð ¨ð ð ð ð ð
˜uð ð ð ð ð  u¨d {Ô!3ð ð ð ð ð2 3ð 2¨5ð 2ð 2ð 2ð 2ðð ˜Sð ¨%ð ð ð ð ð ð r   ré   r   c                   óÂ   — e Zd ZdZdej        ddfd„Zdefd„Zde	fd„Z
de	fd„Zdee         fd	„Zefd
ededdfd„Zddededdfd„Zdd„Zdefd„Zdee         fd„ZdS )r   z>DataQueue is a general-purpose blocking queue with one reader.ri   r%   Nc                 ón   — || _         d| _        d | _        d | _        t	          j        ¦   «         | _        d S )NF)rY   r_   r`   rb   rs   rt   r]   )r(   ri   s     r    r)   zDataQueue.__init__�  s2   € ØˆŒ
ØˆŒ	Ø7;ˆŒØ37ˆŒÝ.9Ô.?Ñ.AÔ.AˆŒˆˆr   c                 ó*   — t          | j        ¦  «        S r'   )r§   r]   r,   s    r    Ú__len__zDataQueue.__len__—  s   € Ý�4”<Ñ Ô Ð r   c                 ó   — | j         S r'   r—   r,   s    r    r˜   zDataQueue.is_eofš  s
   € ØŒyÐr   c                 ó    — | j         o| j         S r'   rš   r,   s    r    r›   zDataQueue.at_eof�  s   € ØŒyÐ- ¤Ð-Ð-r   c                 ó   — | j         S r'   r�   r,   s    r    r‚   zDataQueue.exception   rƒ   r   r„   r…   c                 óh   — d| _         || _        | j        x}�d | _        t          |||¦  «         d S d S rõ   )r_   rb   r`   r   rˆ   s       r    r   zDataQueue.set_exception£  sF   € ð
 ˆŒ	ØˆŒØ”lÐ"ˆFÐ/ØˆDŒLÝ˜& # yÑ1Ô1Ð1Ð1Ð1ð 0Ð/r   r   r¡   rª   c                 ó‚   — | j                              ||f¦  «         | j        x}�d | _        t          |d ¦  «         d S d S r'   )r]   rz   r`   r   )r(   r¡   rª   r‰   s       r    r®   zDataQueue.feed_data®  sN   € ØŒ×Ò˜T 4˜LÑ)Ô)Ð)Ø”lÐ"ˆFÐ/ØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð 0Ð/r   c                 óX   — d| _         | j        x}�d | _        t          |d ¦  «         d S d S rõ   )r_   r`   r   )r(   r‰   s     r    r•   zDataQueue.feed_eof´  s;   € ØˆŒ	Ø”lÐ"ˆFÐ/ØˆDŒLÝ�v˜tÑ$Ô$Ð$Ð$Ð$ð 0Ð/r   c              ƒ   óP  K  — | j         sd| j        s]| j        rJ ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† n'# t
          j        t
          j        f$ r	 d | _        ‚ w xY w| j         r| j                              ¦   «         \  }}|S | j	        �| j	        ‚t          ‚r'   )r]   r_   r`   rY   r�   rp   ÚCancelledErrorÚTimeoutErrorrÓ   rb   r   )r(   r¡   Ú_s      r    rI   zDataQueue.readº  sË   è è € ØŒ|ð 	 D¤Ið 	Ø”|Ð#Ð#Ð#Øœ:×3Ò3Ñ5Ô5ˆDŒLðØ”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"øÝÔ*­GÔ,@ÐAð ð ð Ø#�”Øðøøøð Œ<ð 	Ø”l×*Ò*Ñ,Ô,‰GˆD�!ØˆKØŒ?Ð&Ø”/Ð!Ýˆó   ¹A Á$A+c                 ó*   — t          | j        ¦  «        S r'   )r"   rI   r,   s    r    r-   zDataQueue.__aiter__Ê  s   € Ý" 4¤9Ñ-Ô-Ð-r   râ   rá   )r   r   r   r   rp   rä   r)   rR   r  rA   r˜   r›   r	   ræ   r‚   r   r   r   r®   r•   rI   r"   r-   r   r   r    r   r   �  sn  € € € € € ØHÐHðB˜WÔ6ð B¸4ð Bð Bð Bð Bð!˜ð !ð !ð !ð !ð˜ð ð ð ð ð.˜ð .ð .ð .ð .ð˜8 MÔ2ð ð ð ð ð $1ð	2ð 	2àð	2ð !ð	2ð 
ð		2ð 	2ð 	2ð 	2ð%ð %˜bð %¨ð %°Dð %ð %ð %ð %ð%ð %ð %ð %ð˜Bð ð ð ð ð .Ð.¨rÔ2ð .ð .ð .ð .ð .ð .r   r   c                   ód   ‡ — e Zd ZdZdededej        ddfˆ fd„Zdd	e	d
eddfˆ fd„Z
de	fd„Zˆ xZS )ÚFlowControlDataQueuez®FlowControlDataQueue resumes and pauses an underlying stream.

    It is a destination for parsed data.

    This class is deprecated and will be removed in version 4.0.
    rj   rk   ri   r%   Nc                ó|   •— t          ¦   «                              |¬¦  «         d| _        || _        |dz  | _        d S )N)ri   r   rm   )Úsuperr)   rZ   rT   Ú_limit)r(   rj   rk   ri   ry   s       €r    r)   zFlowControlDataQueue.__init__Ö  s=   ø€ õ 	‰Œ×Ò˜dÐÑ#Ô#Ð#ØˆŒ
Ø!ˆŒØ˜a‘iˆŒˆˆr   r   r¡   rª   c                 óÞ   •— t          ¦   «                              ||¦  «         | xj        |z  c_        | j        | j        k    r'| j        j        s| j                             ¦   «          d S d S d S r'   )r  r®   rZ   r  rT   r’   r¬   )r(   r¡   rª   ry   s      €r    r®   zFlowControlDataQueue.feed_dataÞ  sn   ø€ Ý‰Œ×Ò˜$ Ñ%Ô%Ð%Øˆ
Œ
�dÑˆ
Œ
àŒ:˜œÒ#Ð#¨D¬NÔ,JÐ#ØŒN×(Ò(Ñ*Ô*Ð*Ð*Ð*ð $Ð#Ð#Ð#r   c              ƒ   óÚ  K  — | j         sd| j        s]| j        rJ ‚| j                             ¦   «         | _        	 | j        ƒ d {V —† n'# t
          j        t
          j        f$ r	 d | _        ‚ w xY w| j         rc| j                              ¦   «         \  }}| xj	        |z  c_	        | j	        | j
        k     r%| j        j        r| j                             ¦   «          |S | j        �| j        ‚t          ‚r'   )r]   r_   r`   rY   r�   rp   r  r  rÓ   rZ   r  rT   r’   r“   rb   r   )r(   r¡   rª   s      r    rI   zFlowControlDataQueue.readå  s  è è € ØŒ|ð 	 D¤Ið 	Ø”|Ð#Ð#Ð#Øœ:×3Ò3Ñ5Ô5ˆDŒLðØ”lÐ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"øÝÔ*­GÔ,@ÐAð ð ð Ø#�”Øðøøøð Œ<ð 	Øœ×-Ò-Ñ/Ô/‰JˆD�$ØˆJŒJ˜$ÑˆJŒJØŒz˜DœKÒ'Ð'¨D¬NÔ,JÐ'Ø”×-Ò-Ñ/Ô/Ð/ØˆKØŒ?Ð&Ø”/Ð!Ýˆr  râ   )r   r   r   r   r   rR   rp   rä   r)   r   r®   rI   Ú__classcell__)ry   s   @r    r  r  Î  s½   ø€ € € € € ðð ð Ø$ð Ø-0ð Ø;BÔ;Tð à	ð ð  ð  ð  ð  ð  ð+ð +˜bð +¨ð +°Dð +ð +ð +ð +ð +ð +ð˜Bð ð ð ð ð ð ð ð r   r  )$rp   rs   r¤   Útypingr   r   r   r   r   r   r	   r
   r   Úbase_protocolr   Úhelpersr   r   r   r   r   Úlogr   Ú__all__r   rŽ   r   r"   r7   rC   r   ré   r   Ú__annotations__r   r  r   r   r    ú<module>r     s­  ðØ €€€€Ø Ð Ð Ð Ø €€€ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð (Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð !Ð  Ð  Ð  Ð  Ð  ð€ð €WˆT�]„]€ð!ð !ð !ð !ð !�	ñ !ô !ð !ðð ð ð ð ˜' "œ+ñ ô ð ð(ð ð ð ð ñ ô ð ð"3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð0_3ð _3ð _3ð _3ð _3Ð)ñ _3ô _3ð _3ðD@ð @ð @ð @ð @˜ñ @ô @ð @ðF &7Ð%6Ñ%8Ô%8€ˆu�\Ô"Ð 8Ð 8Ñ 8ð>.ð >.ð >.ð >.ð >.�˜”ñ >.ô >.ð >.ðB(ð (ð (ð (ð (˜9 Rœ=ñ (ô (ð (ð (ð (r   