
    i+%                    b   d dl mZ d dlZd dl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mZmZ d dlmZ d dlmZ erQd d	lmZmZmZ d d
lm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z(m)Z)m*Z* d dl+m,Z,m-Z-  e,d          Z. edd          Z/ ed          Z0d(dZ1d)dZ2d*dZ3d+d Z4 G d! dej5                  Z6e6j7        j8        r*e6j7        j8        9                    d"d#          e6j7        _8        e G d$ d%e6ej:                              Z;e G d& d'e6ej<                              Z=dS ),    )annotationsN)partialupdate_wrapper)cleandoc)	IOTYPE_CHECKINGAnyBinaryIOClassVarConcatenateLiteralTypeVaroverload)AsyncIOWrapper	wrap_file)final)run_sync)	AwaitableCallableIterable)BufferedRandomBufferedReaderBufferedWriterFileIOTextIOWrapper)OpenBinaryModeOpenBinaryModeReadingOpenBinaryModeUpdatingOpenBinaryModeWritingOpenTextMode)	ParamSpecSelfPPathTPath)boundTwrappedCallable[..., object]return5Callable[[Callable[P, T]], Callable[P, Awaitable[T]]]c                     d fd}|S )NfnCallable[P, T]r*   Callable[P, Awaitable[T]]c                *    d fd}t          |           j        rsj        }|                    dd	          }|                    d
d	          }j        }|                    dd          }d| d| dt          j                   d|_        |S )NargsP.argskwargsP.kwargsr*   r'   c                 N   K   t          t          g| R i |           d {V S N)r   r   )r1   r3   r-   s     V/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/trio/_path.pywrapperz0_wraps_async.<locals>.decorator.<locals>.wrapper/   s?      !'"">t">">">v">">?????????    zpathlib._localpathlibzpathlib._abcPathBaser%   zLike :meth:`~.z`, but async.


)r1   r2   r3   r4   r*   r'   )r   __doc__
__module__replace__qualname__r   )r-   r8   modulenamer(   s   `   r7   	decoratorz_wraps_async.<locals>.decorator.   s    	@ 	@ 	@ 	@ 	@ 	@ 	w(((? 	'F^^$4i@@F^^NI>>F'D<<F D
1 1 1 1 1GO,,1 1 1 O
 r9   )r-   r.   r*   r/    )r(   rD   s   ` r7   _wraps_asyncrF   +   s)         . r9   r-   )Callable[Concatenate[pathlib.Path, P], T],Callable[Concatenate[Path, P], Awaitable[T]]c                >     t                     d
 fd	            }|S )Nselfr%   r1   r2   r3   r4   r*   r'   c               B     |                      |           g|R i |S r6   )_wrapped_clsrJ   r1   r3   r-   s      r7   r8   z_wrap_method.<locals>.wrapperK   s1    r$##D));D;;;F;;;r9   )rJ   r%   r1   r2   r3   r4   r*   r'   rF   r-   r8   s   ` r7   _wrap_methodrP   H   s=     "< < < < < < Nr9   4Callable[Concatenate[pathlib.Path, P], pathlib.Path]1Callable[Concatenate[PathT, P], Awaitable[PathT]]c                >     t                     d	 fd            }|S )
NrJ   r$   r1   r2   r3   r4   r*   c               h    |                       |                     |           g|R i |          S r6   )	__class__rL   rM   s      r7   r8   z"_wrap_method_path.<locals>.wrapperU   s=    ~~bb!2!24!8!8J4JJJ6JJKKKr9   )rJ   r$   r1   r2   r3   r4   r*   r$   rN   rO   s   ` r7   _wrap_method_pathrV   R   sC     "L L L L L L Nr9   >Callable[Concatenate[pathlib.Path, P], Iterable[pathlib.Path]];Callable[Concatenate[PathT, P], Awaitable[Iterable[PathT]]]c                ~     t                     d fd	            }|j        r|xj        d
 j         dz  c_        |S )NrJ   r$   r1   r2   r3   r4   r*   Iterable[PathT]c          	     l    t          | j        g  |                     |           g|R i |          S r6   )maprU   rL   rM   s      r7   r8   z+_wrap_method_path_iterable.<locals>.wrapper_   sC    4>#RRR(9(9$(?(?%Q$%Q%Q%Q&%Q%Q#RSSSr9   z
This is an async method that returns a synchronous iterator, so you
use it like:

.. code:: python

    for subpath in await mypath.z():
        ...

.. note::

    The iterator is loaded into memory immediately during the initial
    call (see `issue #501
    <https://github.com/python-trio/trio/issues/501>`__ for discussion).
)rJ   r$   r1   r2   r3   r4   r*   rZ   )rF   r>   __name__rO   s   ` r7   _wrap_method_path_iterabler^   \   s~     "T T T T T T  
Z 02{Z Z Z	
  Nr9   c                      e Zd ZU dZdZded<   d5 fd	Ze ee	j
        j                  d6d
                        Ze ee	j
        j                  d6d                        Ze	 	 	 	 	 d7d8d            Ze	 	 	 d9d:d            Ze	 	 	 	 d;d<d!            Ze	 	 	 	 d;d=d$            Ze	 	 	 	 d;d>d'            Ze	 	 	 	 d;d?d)            Ze	 	 	 	 d;d@d,            Z ee	j
        j                  dAd/            ZdBd0Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Z ee	j
        j                  Zej        d1k    r ee	j
        j                   Z  ee	j
        j!                  Z! ee	j
        j"                  Z" ee	j
        j#                  Z# ee	j
        j$                  Z$ej%        d2k    r* ee	j
        j&                  Z& ee	j
        j'                  Z'ej%        d2k    sej        d1k    r ee	j
        j(                  Z( e)e	j
        j*                  Z* e)e	j
        j+                  Z+ e)e	j
        j,                  Z, e)e	j
        j-                  Z- ee	j
        j.                  Z. ee	j
        j/                  Z/ ee	j
        j0                  Z0 ee	j
        j1                  Z1 ee	j
        j2                  Z2 e)e	j
        j3                  Z3 e)e	j
        j4                  Z4 ee	j
        j5                  Z5 ee	j
        j6                  Z6 ee	j
        j7                  Z7 ee	j
        j8                  Z8 ee	j
        j9                  Z9ej        d1k     r ee	j
        j:                  Z:ej        d3k    r ee	j
        j;                  Z;dBd4Z< xZ=S )Cr%   zAn async :class:`pathlib.Path` that executes blocking methods in :meth:`trio.to_thread.run_sync`.

    Instantiating :class:`Path` returns a concrete platform-specific subclass, one of :class:`PosixPath` or
    :class:`WindowsPath`.
    rE   ClassVar[type[pathlib.Path]]rL   r1   str | os.PathLike[str]r*   r"   c                    | t           u rt          j        dk    rt          nt          }  t                      j        | g|R  S )Nnt)r%   osrC   WindowsPath	PosixPathsuper__new__)clsr1   rU   s     r7   rh   zPath.__new__   s=    $;;!#D++iCuwws*T****r9   c                P     | t           j                                                  S r6   )r:   r%   cwdri   s    r7   rk   zPath.cwd   s"     s7<##%%&&&r9   c                P     | t           j                                                  S r6   )r:   r%   homerl   s    r7   rn   z	Path.home   s"     s7<$$&&'''r9   rNmoder    	bufferingintencoding
str | NoneerrorsnewlineAsyncIOWrapper[TextIOWrapper]c                
   K   d S r6   rE   rJ   rq   rr   rt   rv   rw   s         r7   openz	Path.open   s       ),r9   r   
Literal[0]NoneAsyncIOWrapper[FileIO]c                
   K   d S r6   rE   rz   s         r7   r{   z	Path.open   s       "%r9   r   Literal[-1, 1]AsyncIOWrapper[BufferedRandom]c                
   K   d S r6   rE   rz   s         r7   r{   z	Path.open          *-r9   r   AsyncIOWrapper[BufferedWriter]c                
   K   d S r6   rE   rz   s         r7   r{   z	Path.open   r   r9   r   AsyncIOWrapper[BufferedReader]c                
   K   d S r6   rE   rz   s         r7   r{   z	Path.open   r   r9   AsyncIOWrapper[BinaryIO]c                
   K   d S r6   rE   rz   s         r7   r{   z	Path.open   s       $'3r9   strAsyncIOWrapper[IO[Any]]c                
   K   d S r6   rE   rz   s         r7   r{   z	Path.open   s       #&#r9   r	   r3   c                \    t           |                     |           j        |i |          S r6   )r   rL   r{   )rJ   r1   r3   s      r7   r{   z	Path.open   s1    5**4005tFvFFGGGr9   c                (    dt          |           dS )Nz
trio.Path())r   rJ   s    r7   __repr__zPath.__repr__   s    *CII****r9   )      win32)r      c                @    t           j                            |           S r6   )r:   r%   as_urir   s    r7   r   zPath.as_uri
  s    |""4(((r9   )r1   ra   r*   r"   )r*   r"   )ro   rp   NNN)rq   r    rr   rs   rt   ru   rv   ru   rw   ru   r*   rx   )NNN)rq   r   rr   r|   rt   r}   rv   r}   rw   r}   r*   r~   )rp   NNN)rq   r   rr   r   rt   r}   rv   r}   rw   r}   r*   r   )rq   r   rr   r   rt   r}   rv   r}   rw   r}   r*   r   )rq   r   rr   r   rt   r}   rv   r}   rw   r}   r*   r   )rq   r   rr   rs   rt   r}   rv   r}   rw   r}   r*   r   )rq   r   rr   rs   rt   ru   rv   ru   rw   ru   r*   r   )r1   r	   r3   r	   r*   r   )r*   r   )>r]   r?   rA   r>   	__slots____annotations__rh   classmethodrF   r:   r%   rk   rn   r   r{   r   rP   statchmodexistsr^   globrglobis_diris_file
is_symlink	is_socketis_fifois_block_deviceis_char_devicesysversion_infois_junctioniterdirlchmodlstatmkdirplatformownergroupis_mountrV   readlinkrenamer@   resolvermdir
symlink_tohardlink_totouchunlinkabsolute
expanduser
read_bytes	read_textsamefilewrite_bytes
write_textlink_to
full_matchr   __classcell__)rU   s   @r7   r%   r%   w   s          I....+ + + + + +
 \',"##' ' ' $# [' \',#$$( ( ( %$ [(  !#!", , , , X, 
 % % % % X%  %'- - - - X-  %'- - - - X-  %'- - - - X-  ' ' ' ' X'  #!"& & & & X& \',#$$H H H %$H+ + + + <)**DL+,,E\',-..F%%gl&788D&&w|'9::E\',-..Fl7</00Ggl566JW\344Il7</00G"l7<#?@@O!\',"=>>N
7"""l7<#;<<(()=>>G\',-..FL+,,EL+,,E
|wW\/00W\/00
|w#"2g"="=< 566  !677Hw|233F 455G 455GL+,,Egl566J,w|788KL+,,E\',-..F  !677H""7<#:;;Jgl566JW\344I|GL122H,w|788Kgl566J
'!!,w|344
7""!\',"9::
) ) ) ) ) ) ) )r9   z `..` z ``..`` c                  0    e Zd ZU dZdZej        Zded<   dS )rf   zfAn async :class:`pathlib.PosixPath` that executes blocking methods in :meth:`trio.to_thread.run_sync`.rE   r`   rL   N)	r]   r?   rA   r>   r   r:   rf   rL   r   rE   r9   r7   rf   rf     s1         ppI181BLBBBBBBr9   rf   c                  0    e Zd ZU dZdZej        Zded<   dS )re   zhAn async :class:`pathlib.WindowsPath` that executes blocking methods in :meth:`trio.to_thread.run_sync`.rE   r`   rL   N)	r]   r?   rA   r>   r   r:   re   rL   r   rE   r9   r7   re   re     s1         rrI181DLDDDDDDr9   re   )r(   r)   r*   r+   )r-   rG   r*   rH   )r-   rQ   r*   rR   )r-   rW   r*   rX   )>
__future__r   rd   r:   r   	functoolsr   r   inspectr   typingr   r   r	   r
   r   r   r   r   r   trio._file_ior   r   
trio._utilr   trio.to_threadr   collections.abcr   r   r   ior   r   r   r   r   	_typeshedr   r   r   r   r    typing_extensionsr!   r"   r#   r$   r'   rF   rP   rV   r^   PurePathr%   relative_tor>   r@   PurePosixPathrf   PureWindowsPathre   rE   r9   r7   <module>r      s0   " " " " " " 				  



 - - - - - - - -      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 4 3 3 3 3 3 3 3       # # # # # # ==========XXXXXXXXXXXXXX              21111111	#AGG6***EA   :         6T) T) T) T) T)7 T) T) T)n  V#/7??*UUD C C C C Cg+ C C C E E E E E$/ E E E E Er9   