
    g=                        d Z ddlZddlZddlmZmZ 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mZmZmZ dd	lmZmZ eZd
Z	 	 	 	 	 	 	 d ddddZ	 	 	 	 	 	 	 d ddddZedddd       Zej9                  e      dddd       Zej9                  e
      ej9                  e      dddd              Zej9                  e	      ej9                  e      dddd              Zej9                  e      dddd       Z edddd       Z edddd       Z edddd       Z  edddd       Z! edddd       Z" edddd       Z#y)!z*Handle files using a thread pool executor.    N)partialsingledispatch)BufferedIOBaseBufferedRandomBufferedReaderBufferedWriterFileIO
TextIOBase   )AiofilesContextManager   )AsyncBufferedIOBaseAsyncBufferedReaderAsyncFileIOAsyncIndirectBufferedIOBase)AsyncTextIndirectIOWrapperAsyncTextIOWrapper)openstdinstdoutstderrstdin_bytesstdout_bytesstderr_bytesloopexecutorc                >    t        t        | |||||||||	
            S )N)	mode	bufferingencodingerrorsnewlineclosefdopenerr   r   )r   _open)
filer   r    r!   r"   r#   r$   r%   r   r   s
             Q/var/www/openai/venv/lib/python3.12/site-packages/aiofiles/threadpool/__init__.pyr   r   $   s7     "	
     c                   K   |t        j                         }t        t        | |||||||	      }
|j	                  |	|
       d{   }t        |||	      S 7 w)zOpen an asyncio file.N)r   r    r!   r"   r#   r$   r%   r   )asyncioget_running_loopr   	sync_openrun_in_executorwrap)r'   r   r    r!   r"   r#   r$   r%   r   r   cbfs               r(   r&   r&   A   sk      |'')	

B ""8R00Ax00 	1s   AAAAc                6    t        dj                  |             )NzUnsupported io type: {}.)	TypeErrorformatr'   r   r   s      r(   r/   r/   a   s    
.55d;
<<r)   c                    t        | ||      S Nr   )r   r5   s      r(   _r8   f   s    dAAr)   c                    t        | ||      S r7   )r   r5   s      r(   r8   r8   k        t$BBr)   c                    t        | ||      S r7   )r   r5   s      r(   r8   r8   q   r:   r)   c                    t        | ||      S r7   )r   r5   s      r(   r8   r8   w   s    t$::r)   z	sys.stdinc                  "    t         j                  S N)sysr    r)   r(   <lambda>rA   |   s    SYYr)   )indirectz
sys.stdoutc                  "    t         j                  S r>   )r?   r   r@   r)   r(   rA   rA   ~       szzr)   z
sys.stderrc                  "    t         j                  S r>   )r?   r   r@   r)   r(   rA   rA      rD   r)   zsys.stdin.bufferc                  6    t         j                  j                  S r>   )r?   r   bufferr@   r)   r(   rA   rA      s    SYY5E5Er)   zsys.stdout.bufferc                  6    t         j                  j                  S r>   )r?   r   rG   r@   r)   r(   rA   rA          cjj6G6Gr)   zsys.stderr.bufferc                  6    t         j                  j                  S r>   )r?   r   rG   r@   r)   r(   rA   rA      rI   r)   )rNNNTN)$__doc__r+   r?   	functoolsr   r   ior   r   r   r   r	   r
   baser   binaryr   r   r   r   textr   r   r   r-   __all__r&   r/   registerr8   r   r   r   r   r   r   r@   r)   r(   <module>rU      s   0  
 -  *  A	 
 
> 
1 
1@ d = = z4 B B ~~4 C  C ~~4 C  C v4 ; ; 	#;dEVW	#$'9
 
$$'9
 *d-E +t.G +t.Gr)   