
    g=                    B   U d dl mZ d dlZd dlmZmZ d dlm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ZddlmZ ddlmZ e
rd d	lmZmZmZmZmZmZ d d
lmZ ddl m!Z! h dZ"de#d<   h dZ$de#d<    ed          Z% edd          Z& ed          Z' edd          Z( edd          Z) ede*e+d          Z, ede*e+d          Z-e
rd dlm.Z.m/Z/  G d de/          Z0 G d de/          Z1 G d  d!e/          Z2 G d" d#e/          Z3 G d$ d%e/          Z4 G d& d'e/e(                   Z5 G d( d)e/          Z6 G d* d+e/          Z7 G d, d-e/          Z8 G d. d/e/          Z9 G d0 d1e/          Z: G d2 d3e/          Z; G d4 d5e/          Z< G d6 d7e/          Z= G d8 d9e/          Z> G d: d;e/e,                   Z? G d< d=e/          Z@ G d> d?e/          ZA G d@ dAe/e,                   ZB G dB dCe/          ZC G dD dEe/e,                   ZD G dF dGe/          ZE G dH dIe/          ZF G dJ dKe/e,                   ZG G dL dMe/e                   ZH G dN dOe/          ZI G dP dQe/          ZJ G dR dSe/          ZK G dT dUe/e)                   ZL G dV dWe/e)                   ZM G dX dYe/e,                   ZN G dZ d[e/e(                   ZO G d\ d]e/          ZP G d^ d_eee&                   ZQed`eRf         ZSee*eRgeRf         ZTe	 	 	 	 	 	 	 ddds            ZUe	 	 	 	 	 dddx            ZUe	 	 	 	 	 	 ddd|            ZUe	 	 	 	 	 	 ddd            ZUe	 	 	 	 	 	 ddd            ZUe	 	 	 	 	 ddd            ZUe	 	 	 	 	 	 ddd            ZU	 	 	 	 	 	 	 dddZUddZVdS )    )annotationsN)CallableIterable)partial)	IOTYPE_CHECKINGAnyAnyStrBinaryIOGenericTypeVarUnionoverload   )async_wraps)AsyncResource)OpenBinaryModeOpenBinaryModeReadingOpenBinaryModeUpdatingOpenBinaryModeWritingOpenTextModeStrOrBytesPath)Literal)CapacityLimiter>   rawmodenamebufferclosederrorsfilenoisattyclosefdencodinggetvaluenewlinesreadableseekablewritable	getbufferline_bufferingzset[str]_FILE_SYNC_ATTRS>   peekreadseektellflushread1writereadallreadintoreadlinetruncate	readinto1	readlines
writelines_FILE_ASYNC_METHODSFileTFileT_coT)	covariantTT_coT_contra)contravariant	AnyStr_coAnyStr_contra)BufferProtocolc                  &    e Zd Zedd            ZdS )
_HasClosedreturnboolc                    d S N selfs    Y/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/_file_io.pyr   z_HasClosed.closedi   s    "%#    NrI   rJ   )__name__
__module____qualname__propertyr   rM   rQ   rP   rH   rH   h   s&        	%%% 
%%%rQ   rH   c                  &    e Zd Zedd            ZdS )_HasEncodingrI   strc                    d S rL   rM   rN   s    rP   r$   z_HasEncoding.encodingm       #&3rQ   NrI   rY   )rS   rT   rU   rV   r$   rM   rQ   rP   rX   rX   l   &        	&&& 
&&&rQ   rX   c                  &    e Zd Zedd            ZdS )
_HasErrorsrI   
str | Nonec                    d S rL   rM   rN   s    rP   r    z_HasErrors.errorsq   s    (+rQ   N)rI   r`   )rS   rT   rU   rV   r    rM   rQ   rP   r_   r_   p   s&        	+++ 
+++rQ   r_   c                      e Zd ZddZdS )
_HasFileNorI   intc                    d S rL   rM   rN   s    rP   r!   z_HasFileNo.filenou         rQ   NrI   rd   )rS   rT   rU   r!   rM   rQ   rP   rc   rc   t           $$$$$$rQ   rc   c                      e Zd ZddZdS )
_HasIsATTYrI   rJ   c                    d S rL   rM   rN   s    rP   r"   z_HasIsATTY.isattyx   rf   rQ   NrR   )rS   rT   rU   r"   rM   rQ   rP   rj   rj   w   s        %%%%%%rQ   rj   c                  &    e Zd Zedd            ZdS )_HasNewlinesrI   r@   c                    d S rL   rM   rN   s    rP   r&   z_HasNewlines.newlines|   s    $'CrQ   NrI   r@   )rS   rT   rU   rV   r&   rM   rQ   rP   rm   rm   z   s&        	''' 
'''rQ   rm   c                      e Zd ZddZdS )_HasReadablerI   rJ   c                    d S rL   rM   rN   s    rP   r'   z_HasReadable.readable   rf   rQ   NrR   )rS   rT   rU   r'   rM   rQ   rP   rq   rq              ''''''rQ   rq   c                      e Zd ZddZdS )_HasSeekablerI   rJ   c                    d S rL   rM   rN   s    rP   r(   z_HasSeekable.seekable   rf   rQ   NrR   )rS   rT   rU   r(   rM   rQ   rP   ru   ru      rs   rQ   ru   c                      e Zd ZddZdS )_HasWritablerI   rJ   c                    d S rL   rM   rN   s    rP   r)   z_HasWritable.writable   rf   rQ   NrR   )rS   rT   rU   r)   rM   rQ   rP   rx   rx      rs   rQ   rx   c                  &    e Zd Zedd            ZdS )
_HasBufferrI   r   c                    d S rL   rM   rN   s    rP   r   z_HasBuffer.buffer   s    &)crQ   N)rI   r   )rS   rT   rU   rV   r   rM   rQ   rP   r{   r{      s&        	))) 
)))rQ   r{   c                  &    e Zd Zedd            ZdS )_HasRawrI   io.RawIOBasec                    d S rL   rM   rN   s    rP   r   z_HasRaw.raw   s    '*srQ   N)rI   r   )rS   rT   rU   rV   r   rM   rQ   rP   r~   r~      s&        	*** 
***rQ   r~   c                  &    e Zd Zedd            ZdS )_HasLineBufferingrI   rJ   c                    d S rL   rM   rN   s    rP   r+   z _HasLineBuffering.line_buffering   s    *-#rQ   NrR   )rS   rT   rU   rV   r+   rM   rQ   rP   r   r      s&        	--- 
---rQ   r   c                  &    e Zd Zedd            ZdS )_HasCloseFDrI   rJ   c                    d S rL   rM   rN   s    rP   r#   z_HasCloseFD.closefd   r[   rQ   NrR   )rS   rT   rU   rV   r#   rM   rQ   rP   r   r      r]   rQ   r   c                  &    e Zd Zedd            ZdS )_HasNamerI   rY   c                    d S rL   rM   rN   s    rP   r   z_HasName.name       "srQ   Nr\   )rS   rT   rU   rV   r   rM   rQ   rP   r   r      &        	""" 
"""rQ   r   c                  &    e Zd Zedd            ZdS )_HasModerI   rY   c                    d S rL   rM   rN   s    rP   r   z_HasMode.mode   r   rQ   Nr\   )rS   rT   rU   rV   r   rM   rQ   rP   r   r      r   rQ   r   c                      e Zd ZddZdS )_CanGetValuerI   rC   c                    d S rL   rM   rN   s    rP   r%   z_CanGetValue.getvalue   rf   rQ   NrI   rC   )rS   rT   rU   r%   rM   rQ   rP   r   r      s        ,,,,,,rQ   r   c                      e Zd ZddZdS )_CanGetBufferrI   
memoryviewc                    d S rL   rM   rN   s    rP   r*   z_CanGetBuffer.getbuffer   rf   rQ   N)rI   r   )rS   rT   rU   r*   rM   rQ   rP   r   r      s        ......rQ   r   c                      e Zd ZddZdS )	_CanFlushrI   Nonec                    d S rL   rM   rN   s    rP   r1   z_CanFlush.flush   rf   rQ   NrI   r   )rS   rT   rU   r1   rM   rQ   rP   r   r      rh   rQ   r   c                      e Zd Zdd	dZdS )
_CanRead.size
int | NonerI   rC   c                   d S rL   rM   rO   r   s     rP   r.   z_CanRead.read   rf   rQ   N.)r   r   rI   rC   )rS   rT   rU   r.   rM   rQ   rP   r   r              CCCCCCCrQ   r   c                      e Zd Zdd	dZdS )
	_CanRead1.r   r   rI   bytesc                   d S rL   rM   r   s     rP   r2   z_CanRead1.read1   rf   rQ   Nr   )r   r   rI   r   )rS   rT   rU   r2   rM   rQ   rP   r   r              @@@@@@@rQ   r   c                      e Zd ZddZdS )_CanReadAllrI   rC   c                    d S rL   rM   rN   s    rP   r4   z_CanReadAll.readall   rf   rQ   Nr   )rS   rT   rU   r4   rM   rQ   rP   r   r      s        ++++++rQ   r   c                      e Zd ZddZdS )_CanReadIntobufrE   rI   r   c                   d S rL   rM   rO   r   s     rP   r5   z_CanReadInto.readinto   rf   rQ   N)r   rE   rI   r   )rS   rT   rU   r5   rM   rQ   rP   r   r      s        ======rQ   r   c                      e Zd ZddZdS )_CanReadInto1r   rE   rI   rd   c                   d S rL   rM   rO   r   s     rP   r8   z_CanReadInto1.readinto1   rf   rQ   N)r   rE   rI   rd   )rS   rT   rU   r8   rM   rQ   rP   r   r      s        ::::::rQ   r   c                      e Zd Zdd	dZdS )
_CanReadLine.r   rd   rI   rC   c                   d S rL   rM   r   s     rP   r6   z_CanReadLine.readline   rf   rQ   Nr   r   rd   rI   rC   )rS   rT   rU   r6   rM   rQ   rP   r   r      r   rQ   r   c                      e Zd Zdd	dZdS )
_CanReadLines.hintrd   rI   list[AnyStr]c                   d S rL   rM   )rO   r   s     rP   r9   z_CanReadLines.readlines   rf   rQ   Nr   )r   rd   rI   r   )rS   rT   rU   r9   rM   rQ   rP   r   r      s        DDDDDDDrQ   r   c                      e Zd Zdd	dZdS )
_CanSeekr   targetrd   whencerI   c                   d S rL   rM   rO   r   r   s      rP   r/   z_CanSeek.seek   rf   rQ   Nr   )r   rd   r   rd   rI   rd   )rS   rT   rU   r/   rM   rQ   rP   r   r      r   rQ   r   c                      e Zd ZddZdS )_CanTellrI   rd   c                    d S rL   rM   rN   s    rP   r0   z_CanTell.tell   rf   rQ   Nrg   )rS   rT   rU   r0   rM   rQ   rP   r   r      s        """"""rQ   r   c                      e Zd Zdd	dZdS )
_CanTruncate.r   r   rI   rd   c                   d S rL   rM   r   s     rP   r7   z_CanTruncate.truncate   rf   rQ   Nr   )r   r   rI   rd   )rS   rT   rU   r7   rM   rQ   rP   r   r      s        AAAAAAArQ   r   c                      e Zd ZddZdS )	_CanWritedatarA   rI   rd   c                   d S rL   rM   rO   r   s     rP   r3   z_CanWrite.write   rf   rQ   N)r   rA   rI   rd   )rS   rT   rU   r3   rM   rQ   rP   r   r      s        666666rQ   r   c                      e Zd ZddZdS )_CanWriteLineslinesIterable[T_contra]rI   r   c                   d S rL   rM   rO   r   s     rP   r:   z_CanWriteLines.writelines   rf   rQ   N)r   r   rI   r   )rS   rT   rU   r:   rM   rQ   rP   r   r      s        GGGGGGrQ   r   c                      e Zd Zdd	dZdS )
_CanPeekr   r   rd   rI   rC   c                   d S rL   rM   r   s     rP   r-   z_CanPeek.peek   rf   rQ   Nr   r   )rS   rT   rU   r-   rM   rQ   rP   r   r      s        :::::::rQ   r   c                      e Zd ZddZdS )
_CanDetachrI   r@   c                    d S rL   rM   rN   s    rP   detachz_CanDetach.detach   rf   rQ   Nro   )rS   rT   rU   r   rM   rQ   rP   r   r      s        %%%%%%rQ   r   c                      e Zd ZddZdS )	_CanCloserI   r   c                    d S rL   rM   rN   s    rP   closez_CanClose.close   rf   rQ   Nr   )rS   rT   rU   r   rM   rQ   rP   r   r      rh   rQ   r   c                       e Zd ZdZdldZedmd            ZesdndZdo fdZ	dpdZ
dqdZdrdZdsdZeredtd            Zedud            Zedvd             Zedwd#            Zedxd&            Zedyd)            Zedzd,            Zed{d.            Zed|d0            Zed}d2            Zd~d4Zdd6Zdd8Zdd:Zdd<Zdd>ZddAZddCZdddHZ dddKZ!ddMZ"ddQZ#dddRZ$ddUZ%dddZZ&dd\Z'ddd_Z(ddbZ)ddfZ*ddiZ+dddkZ, xZ-S  xZ-S )AsyncIOWrapperaE  A generic :class:`~io.IOBase` wrapper that implements the :term:`asynchronous
    file object` interface. Wrapped methods that could block are executed in
    :meth:`trio.to_thread.run_sync`.

    All properties and methods defined in :mod:`~io` are exposed by this
    wrapper, if they exist in the wrapped file object.
    filer=   rI   r   c                    || _         d S rL   _wrapped)rO   r   s     rP   __init__zAsyncIOWrapper.__init__   s    rQ   c                    | j         S )z.object: A reference to the wrapped file objectr   rN   s    rP   wrappedzAsyncIOWrapper.wrapped   s     }rQ   r   rY   objectc                   |t           v rt          | j        |          S |t          v rTt          | j        |          t	          | j        | j        j        |          dfd            }t          | ||           |S t          |          )	NargsCallable[..., T]kwargs,object | str | bool | CapacityLimiter | NonerI   r?   c                 r   K   t          g| R i |}t          j                            |           d {V S rL   )r   trio	to_threadrun_sync)r   r   funcmeths      rP   wrapperz+AsyncIOWrapper.__getattr__.<locals>.wrapper   sN      
 #49$999&99D!%!8!8!>!>>>>>>>>rQ   )r   r   r   r   rI   r?   )r,   getattrr   r;   r   	__class__setattrAttributeError)rO   r   r   r   s      @rP   __getattr__zAsyncIOWrapper.__getattr__   s    '''t}d333***t}d33T^T]-DdKK? ? ? ? ? LK? dG,,, &&&rQ   Iterable[str]c                     t          t                                                                }|                     fdt          D                        |                     fdt
          D                        |S )Nc              3  F   K   | ]}t          j        |          |V  d S rL   hasattrr   .0arO   s     rP   	<genexpr>z)AsyncIOWrapper.__dir__.<locals>.<genexpr>  s4      MM1GDL!4L4LMQMMMMMMrQ   c              3  F   K   | ]}t          j        |          |V  d S rL   r   r  s     rP   r  z)AsyncIOWrapper.__dir__.<locals>.<genexpr>  s4      PP1wt|Q7O7OPQPPPPPPrQ   )setsuper__dir__updater,   r;   )rO   attrsr   s   ` rP   r  zAsyncIOWrapper.__dir__  st    EGGOO%%&&MMMM 0MMMMMMPPPP 3PPPPPPrQ   AsyncIOWrapper[FileT_co]c                    | S rL   rM   rN   s    rP   	__aiter__zAsyncIOWrapper.__aiter__	  s    rQ   rO   $AsyncIOWrapper[_CanReadLine[AnyStr]]r
   c                P   K   |                                   d {V }|r|S t          rL   )r6   StopAsyncIteration)rO   lines     rP   	__anext__zAsyncIOWrapper.__anext__  s8      ]]__$$$$$$ 	%K$$rQ   AsyncIOWrapper[_CanDetach[T]]AsyncIOWrapper[T]c                   K   t           j                            | j        j                   d{V }t          |          S )zLike :meth:`io.BufferedIOBase.detach`, but async.

        This also re-wraps the result in a new :term:`asynchronous file object`
        wrapper.

        N)r   r   r   r   r   	wrap_file)rO   r   s     rP   r   zAsyncIOWrapper.detach  s@       N++DM,@AAAAAAAA~~rQ   AsyncIOWrapper[_CanClose]c                
  K   t          j        d          5  t           j                            | j        j                   d{V  ddd           n# 1 swxY w Y   t           j                                         d{V  dS )zLike :meth:`io.IOBase.close`, but async.

        This is also shielded from cancellation; if a cancellation scope is
        cancelled, the wrapped file object will still be safely closed.

        T)shieldN)r   CancelScoper   r   r   r   lowlevelcheckpoint_if_cancelledrN   s    rP   aclosezAsyncIOWrapper.aclose  s       T*** 	? 	?.))$-*=>>>>>>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? m3355555555555s   0AAAAsyncIOWrapper[_HasClosed]rJ   c                    d S rL   rM   rN   s    rP   r   zAsyncIOWrapper.closed/  s    >AcrQ   AsyncIOWrapper[_HasEncoding]c                    d S rL   rM   rN   s    rP   r$   zAsyncIOWrapper.encoding1  s    ADrQ   AsyncIOWrapper[_HasErrors]r`   c                    d S rL   rM   rN   s    rP   r    zAsyncIOWrapper.errors3  s    DGCrQ   AsyncIOWrapper[_HasNewlines[T]]r?   c                    d S rL   rM   rN   s    rP   r&   zAsyncIOWrapper.newlines5      BE#rQ   AsyncIOWrapper[_HasBuffer]r   c                    d S rL   rM   rN   s    rP   r   zAsyncIOWrapper.buffer7  r&  rQ   AsyncIOWrapper[_HasRaw]r   c                    d S rL   rM   rN   s    rP   r   zAsyncIOWrapper.raw9      @CrQ   !AsyncIOWrapper[_HasLineBuffering]rd   c                    d S rL   rM   rN   s    rP   r+   zAsyncIOWrapper.line_buffering;  s    LOCrQ   AsyncIOWrapper[_HasCloseFD]c                    d S rL   rM   rN   s    rP   r#   zAsyncIOWrapper.closefd=  r+  rQ   AsyncIOWrapper[_HasName]c                    d S rL   rM   rN   s    rP   r   zAsyncIOWrapper.name?      9<rQ   AsyncIOWrapper[_HasMode]c                    d S rL   rM   rN   s    rP   r   zAsyncIOWrapper.modeA  r2  rQ   AsyncIOWrapper[_HasFileNo]c                    d S rL   rM   rN   s    rP   r!   zAsyncIOWrapper.filenoD  rf   rQ   AsyncIOWrapper[_HasIsATTY]c                    d S rL   rM   rN   s    rP   r"   zAsyncIOWrapper.isattyE  rf   rQ   AsyncIOWrapper[_HasReadable]c                    d S rL   rM   rN   s    rP   r'   zAsyncIOWrapper.readableF  rf   rQ   AsyncIOWrapper[_HasSeekable]c                    d S rL   rM   rN   s    rP   r(   zAsyncIOWrapper.seekableG  rf   rQ   AsyncIOWrapper[_HasWritable]c                    d S rL   rM   rN   s    rP   r)   zAsyncIOWrapper.writableH  rf   rQ   $AsyncIOWrapper[_CanGetValue[AnyStr]]c                    d S rL   rM   rN   s    rP   r%   zAsyncIOWrapper.getvalueI  rf   rQ   AsyncIOWrapper[_CanGetBuffer]r   c                    d S rL   rM   rN   s    rP   r*   zAsyncIOWrapper.getbufferJ  rf   rQ   AsyncIOWrapper[_CanFlush]c                
   K   d S rL   rM   rN   s    rP   r1   zAsyncIOWrapper.flushK  
        rQ    AsyncIOWrapper[_CanRead[AnyStr]]r   r   c               
   K   d S rL   rM   r   s     rP   r.   zAsyncIOWrapper.readL  rE  rQ   AsyncIOWrapper[_CanRead1]r   c               
   K   d S rL   rM   r   s     rP   r2   zAsyncIOWrapper.read1M  rE  rQ   #AsyncIOWrapper[_CanReadAll[AnyStr]]c                
   K   d S rL   rM   rN   s    rP   r4   zAsyncIOWrapper.readallN  rE  rQ   AsyncIOWrapper[_CanReadInto]r   rE   c               
   K   d S rL   rM   r   s     rP   r5   zAsyncIOWrapper.readintoO  rE  rQ   c               
   K   d S rL   rM   r   s     rP   r6   zAsyncIOWrapper.readlineP  rE  rQ   %AsyncIOWrapper[_CanReadLines[AnyStr]]r   c                
   K   d S rL   rM   rN   s    rP   r9   zAsyncIOWrapper.readlinesQ  rE  rQ   r   AsyncIOWrapper[_CanSeek]r   r   c               
   K   d S rL   rM   r   s      rP   r/   zAsyncIOWrapper.seekR  rE  rQ   AsyncIOWrapper[_CanTell]c                
   K   d S rL   rM   rN   s    rP   r0   zAsyncIOWrapper.tellS  rE  rQ   NAsyncIOWrapper[_CanTruncate]c               
   K   d S rL   rM   r   s     rP   r7   zAsyncIOWrapper.truncateT  rE  rQ   AsyncIOWrapper[_CanWrite[T]]r   c               
   K   d S rL   rM   r   s     rP   r3   zAsyncIOWrapper.writeU  rE  rQ   !AsyncIOWrapper[_CanWriteLines[T]]r   Iterable[T]c               
   K   d S rL   rM   r   s     rP   r:   zAsyncIOWrapper.writelinesV  rE  rQ   AsyncIOWrapper[_CanReadInto1]r   c               
   K   d S rL   rM   r   s     rP   r8   zAsyncIOWrapper.readinto1W  rE  rQ    AsyncIOWrapper[_CanPeek[AnyStr]]c               
   K   d S rL   rM   r   s     rP   r-   zAsyncIOWrapper.peekX  rE  rQ   )r   r=   rI   r   )rI   r=   )r   rY   rI   r   )rI   r   )rI   r  )rO   r  rI   r
   )rO   r  rI   r  )rO   r  rI   r   )rO   r  rI   rJ   )rO   r   rI   rY   )rO   r"  rI   r`   )rO   r$  rI   r?   )rO   r'  rI   r   )rO   r)  rI   r   )rO   r,  rI   rd   )rO   r.  rI   rJ   )rO   r0  rI   rY   )rO   r3  rI   rY   )rO   r5  rI   rd   )rO   r7  rI   rJ   )rO   r9  rI   rJ   )rO   r;  rI   rJ   )rO   r=  rI   rJ   )rO   r?  rI   r
   )rO   rA  rI   r   )rO   rC  rI   r   )rF  )rO   rG  r   r   rI   r
   )rO   rI  r   r   rI   r   )rO   rK  rI   r
   )rO   rM  r   rE   rI   r   )rO   r  r   rd   rI   r
   )rO   rP  rI   r   r   )rO   rR  r   rd   r   rd   rI   rd   )rO   rT  rI   rd   rL   )rO   rV  r   r   rI   rd   )rO   rX  r   r?   rI   rd   )rO   rZ  r   r[  rI   r   )rO   r]  r   rE   rI   rd   )rO   r_  r   rd   rI   r
   ).rS   rT   rU   __doc__r   rV   r   r   r   r  r  r  r   r  r   r$   r    r&   r   r   r+   r#   r   r   r!   r"   r'   r(   r)   r%   r*   r1   r.   r2   r4   r5   r6   r9   r/   r0   r7   r3   r:   r8   r-   __classcell__)r   s   @rP   r   r      s               X
  '	' 	' 	' 	'(        % % % %	 	 	 	6 6 6 6  ,` 
AAA 
A	DDD 
D	GGG 
G	EEE 
E	EEE 
E	CCC 
C	OOO 
O	CCC 
C	<<< 
<	<<< 
<@@@@AAAAEEEEEEEEEEEEOOOOMMMMEEEEggggg`````SSSSaaaahhhhh]]]]cccccBBBBfffffSSSSiiii_____________Y,` ,` ,` ,`rQ   r   r   rrF  r   	_OpenFiler   r   	bufferingrd   r$   r`   r    newliner#   rJ   opener_Opener | NonerI    AsyncIOWrapper[io.TextIOWrapper]c                
   K   d S rL   rM   r   r   re  r$   r    rf  r#   rg  s           rP   	open_filerl  `  s       (+srQ   r   
Literal[0]r   AsyncIOWrapper[io.FileIO]c                
   K   d S rL   rM   rk  s           rP   rl  rl  m  s       !$rQ   r   Literal[-1, 1]!AsyncIOWrapper[io.BufferedRandom]c                
   K   d S rL   rM   rk  s           rP   rl  rl  z         ),rQ   r   !AsyncIOWrapper[io.BufferedWriter]c                
   K   d S rL   rM   rk  s           rP   rl  rl    rs  rQ   r   !AsyncIOWrapper[io.BufferedReader]c                
   K   d S rL   rM   rk  s           rP   rl  rl    rs  rQ   AsyncIOWrapper[BinaryIO]c                
   K   d S rL   rM   rk  s           rP   rl  rl    s        #srQ   rY   AsyncIOWrapper[IO[Any]]c                
   K   d S rL   rM   rk  s           rP   rl  rl    s       "crQ   AsyncIOWrapper[object]c                   K   t          t          j                            t          j        | |||||||	  	         d{V           }|S )a(  Asynchronous version of :func:`open`.

    Returns:
        An :term:`asynchronous file object`

    Example::

        async with await trio.open_file(filename) as f:
            async for line in f:
                pass

        assert f.closed

    See also:
      :func:`trio.Path.open`

    N)r  r   r   r   ioopen)	r   r   re  r$   r    rf  r#   rg  file_s	            rP   rl  rl    sn      6 n%%G

 

 
	
 
	
 
	
 
	
 
	
 
	
 E LrQ   AsyncIOWrapper[FileT]c                     d
 fd} |d          r |d          s |d          st            d	          t                     S )a[  This wraps any file object in a wrapper that provides an asynchronous
    file object interface.

    Args:
        file: a :term:`file object`

    Returns:
        An :term:`asynchronous file object` that wraps ``file``

    Example::

        async_file = trio.wrap_file(StringIO('asdf'))

        assert await async_file.read() == 'asdf'

    attrrY   rI   rJ   c                ^    t          |           ot          t          |                     S rL   )r   callabler   )r  r   s    rP   haszwrap_file.<locals>.has  s*    tT""Dxd0C0C'D'DDrQ   r   r.   r3   zI does not implement required duck-file methods: close and (read or write))r  rY   rI   rJ   )	TypeErrorr   )r   r  s   ` rP   r  r    s    $E E E E E E CLL 
cc&kk 
SS\\ 
 ( ( (
 
 	

 $rQ   )rc  rF  NNNTN)r   rd  r   r   re  rd   r$   r`   r    r`   rf  r`   r#   rJ   rg  rh  rI   ri  )NNNTN)r   rd  r   r   re  rm  r$   r   r    r   rf  r   r#   rJ   rg  rh  rI   rn  )rF  NNNTN)r   rd  r   r   re  rp  r$   r   r    r   rf  r   r#   rJ   rg  rh  rI   rq  )r   rd  r   r   re  rp  r$   r   r    r   rf  r   r#   rJ   rg  rh  rI   rt  )r   rd  r   r   re  rp  r$   r   r    r   rf  r   r#   rJ   rg  rh  rI   rv  )r   rd  r   r   re  rd   r$   r   r    r   rf  r   r#   rJ   rg  rh  rI   rx  )r   rd  r   rY   re  rd   r$   r`   r    r`   rf  r`   r#   rJ   rg  rh  rI   rz  )r   rd  r   rY   re  rd   r$   r`   r    r`   rf  r`   r#   rJ   rg  rh  rI   r|  )r   r<   rI   r  )W
__future__r   r~  collections.abcr   r   	functoolsr   typingr   r   r	   r
   r   r   r   r   r   r   _utilr   abcr   	_typeshedr   r   r   r   r   r   typing_extensionsr   _syncr   r,   __annotations__r;   r<   r=   r?   r@   rA   rY   r   rC   rD   rE   rF   rH   rX   r_   rc   rj   rm   rq   ru   rx   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rd   rd  _Openerrl  r  rM   rQ   rP   <module>r     st
   " " " " " " " 				 . . . . . . . .      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
              '                *)))))&&&&&&       ,! ! !     & 	7:...GCLLwv&&&7:T222GKet<<<	e4HHH  s%22222222& & & & &X & & &' ' ' ' 'x ' ' ', , , , ,X , , ,% % % % %X % % %& & & & &X & & &( ( ( ( (x~ ( ( (
( ( ( ( (x ( ( (( ( ( ( (x ( ( (( ( ( ( (x ( ( (* * * * *X * * *+ + + + +( + + +. . . . .H . . .' ' ' ' 'h ' ' '# # # # #8 # # ## # # # #8 # # #- - - - -x	* - - -/ / / / / / / /% % % % %H % % %D D D D D8I& D D DA A A A AH A A A, , , , ,hy) , , ,> > > > >x > > >; ; ; ; ; ; ; ;A A A A Ax	* A A AE E E E E( E E ED D D D D8 D D D# # # # #8 # # #B B B B Bx B B B7 7 7 7 7HX& 7 7 7H H H H H(+ H H H; ; ; ; ;8I& ; ; ;& & & & &Xd^ & & &% % % % %H % % %}` }` }` }` }`]GH$5 }` }` }`B "C'(	
C:s?
# 
 !	+ 	+ 	+ 	+ 
	+ 

 !	$ 	$ 	$ 	$ 
	$ 
 !#!	, 	, 	, 	, 
	, 
 !#!	, 	, 	, 	, 
	, 
 !#!	, 	, 	, 	, 
	, 

 !	# 	# 	# 	# 
	# 
 !	" 	" 	" 	" 
	" !( ( ( ( (V           rQ   