shell bypass 403

Cubjrnet7 Shell

: /usr/lib64/python3.9/__pycache__/ [ drwxr-xr-x ]

name : pathlib.cpython-39.opt-2.pyc
a

�cdh���@s2ddlZddlZddlZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZm
Z
mZmZddlmZddlmZmZmZmZmZmZmZddlmZdZgd�Zd	Zd
Z dZ!ee
eefZ"ee e!fZ#dd
�Z$dd�Z%Gdd�de&�Z'Gdd�de'�Z(Gdd�de'�Z)e(�Z*e)�Z+Gdd�d�Z,Gdd�de,�Z-e-�Z.dd�Z/e0ed��rbe�1�e/�Z/Gdd�d�Z2Gdd �d �Z3Gd!d"�d"e2�Z4Gd#d$�d$e2�Z5Gd%d&�d&e2�Z6Gd'd(�d(e	�Z7Gd)d*�d*e&�Z8ej9�:e8�Gd+d,�d,e8�Z;Gd-d.�d.e8�Z<Gd/d0�d0e8�Z=Gd1d2�d2e=e;�Z>Gd3d4�d4e=e<�Z?dS)5�N)�Sequence)�EINVAL�ENOENT�ENOTDIR�EBADF�ELOOP)�
attrgetter)�S_ISDIR�S_ISLNK�S_ISREG�S_ISSOCK�S_ISBLK�S_ISCHR�S_ISFIFO)�quote_from_bytesT)�PurePath�
PurePosixPath�PureWindowsPath�Path�	PosixPath�WindowsPath��{i�cCs t|dd�tvpt|dd�tvS)N�errno�winerror)�getattr�_IGNORED_ERROS�_IGNORED_WINERRORS)�	exception�r�/usr/lib64/python3.9/pathlib.py�
_ignore_error(s�r!cCsd|vpd|vpd|vS)N�*�?�[r)�patrrr �_is_wildcard_pattern-sr&c@s$eZdZdd�Zdd�Zdd�ZdS)�_FlavourcCs|jj|_dS�N)�sep�join��selfrrr �__init__7sz_Flavour.__init__cCsg}|j}|j}d}}t|�}|D]�}|s.q$|r>|�||�}|�|�\}}}	||	vr�t|	�|��D] }
|
rd|
dkrd|�t�|
��qdn|	r�|	dkr�|�t�|	��|s�|r$|s�|D]0}|s�q�|r�|�||�}|�|�d}|r�q�q�q�q$|s�|�r|�||�|�	�|||fS)N��.r)
r)�altsep�reversed�replace�	splitroot�split�append�sys�intern�reverse)r,�parts�parsedr)r0�drv�root�it�part�rel�xrrr �parse_parts:s@
z_Flavour.parse_partscCsz|r*|sp|rp||||g|dd�fSnF|rb||ksJ|�|�|�|�krp||||dd�fSn||||fS|||fS�N�)�casefold)r,r;r<r9�drv2�root2�parts2rrr �join_parsed_parts`sz_Flavour.join_parsed_partsN)�__name__�
__module__�__qualname__r-rArHrrrr r'3s&r'c@s�eZdZdZdZdZeZej	dkZ
ed�ZdZ
hd�dd	�d
D�Bdd	�d
D�BZefdd
�Zdd�Zdd�Zdd�Ze
fdd�Zdd�Zdd�Zdd�ZdS)�_WindowsFlavour�\�/T�ntZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz\\?\>�PRNzCONOUT$�AUX�NULzCONIN$�CONcCsh|]}d|�qS)zCOM%sr��.0�crrr �	<setcomp>��z_WindowsFlavour.<setcomp>u123456789¹²³cCsh|]}d|�qS)zLPT%srrTrrr rW�rXcCs\|dd�}|dd�}||krP||krP|�|�\}}|dd�}|dd�}nd}|dd�}||kr�||kr�||kr�|�|d�}|dkr�|�||d�}||dkr�|dkr�t|�}|r�||d|�|||dd�fS|d|�|||dd�fSd}	}
|dk�r6||jv�r6|dd�}	|dd�}|}||k�rN|}
|�|�}||	|
|fS)NrrC�r.�����:)�_split_extended_path�find�len�
drive_letters�lstrip)r,r>r)�first�second�prefix�third�index�index2r;r<rrr r3�s6"

z_WindowsFlavour.splitrootcCs|��Sr(��lower�r,�srrr rD�sz_WindowsFlavour.casefoldcCsdd�|D�S)NcSsg|]}|���qSrrh)rU�prrr �
<listcomp>�rXz2_WindowsFlavour.casefold_parts.<locals>.<listcomp>r�r,r9rrr �casefold_parts�sz_WindowsFlavour.casefold_partscCst�t�|�tj�jSr()�re�compile�fnmatch�	translate�
IGNORECASE�	fullmatch�r,�patternrrr �compile_pattern�sz_WindowsFlavour.compile_patterncCsXd}|�|�rP|dd�}|dd�}|�d�rP||dd�7}d|dd�}||fS)Nr.�zUNC\rZrM)�
startswith)r,rk�
ext_prefixrdrrr r]�s

z$_WindowsFlavour._split_extended_pathcCsJ|sdS|d�d�rdS|d�d�d�d�d�d�}|��|jvS)NFrz\\r[r/r\� )rz�	partition�rstrip�upper�reserved_names)r,r9�namerrr �is_reserved�s"z_WindowsFlavour.is_reservedcCsd|j}t|�dkrJ|ddkrJ|��dd��d�}d|t|�d��fSdt|���d��SdS)NrYrCr\rNz
file:///%s/%szutf-8zfile:)�driver_�as_posixra�urlquote_from_bytes�encode)r,�pathr��restrrr �make_uri�s�z_WindowsFlavour.make_uricCs�dtjvrtjd}nHdtjvrVztjd}WntyDd}Yn0|tjd}ntd��|r�tjd|kr�|�|f�\}}}|dtjdkr�td|��||d<|s�|r�|||�|d	d��}n
|�|�}|S)
N�USERPROFILE�HOMEPATH�	HOMEDRIVEr.zCan't determine home directory�USERNAMEr[�%Can't determine home directory for %rrC)�os�environ�KeyError�RuntimeErrorrAr*)r,�username�userhomer;r<r9rrr �
gethomedir�s*


�
z_WindowsFlavour.gethomedirN)rIrJrKr)r0�has_drv�ntpath�pathmodr�r��is_supported�setr`�ext_namespace_prefixr�r3rDrorxr]r�r�r�rrrr rLrs*
���'

rLc@sbeZdZdZdZdZeZej	dkZ
efdd�Zdd�Zd	d
�Z
dd�Zd
d�Zdd�Zdd�ZdS)�
_PosixFlavourrNr.FrOcCsV|rH|d|krH|�|�}t|�t|�dkr<d|d|fSd||fSn
dd|fSdS)NrrYr.)rar_)r,r>r)�
stripped_partrrr r3
s
z_PosixFlavour.splitrootcCs|Sr(rrjrrr rDsz_PosixFlavour.casefoldcCs|Sr(rrnrrr rosz_PosixFlavour.casefold_partscCst�t�|��jSr()rprqrrrsrurvrrr rx"sz_PosixFlavour.compile_patterncCsdS�NFrrnrrr r�%sz_PosixFlavour.is_reservedcCst|�}dt|�S)Nzfile://)�bytesr�)r,r��bpathrrr r�(sz_PosixFlavour.make_uricCsx|s>ztjdWSty:ddl}|�t���jYS0n6ddl}z|�|�jWStyrtd|��Yn0dS)N�HOMErr�)	r�r�r��pwd�getpwuid�getuid�pw_dir�getpwnamr�)r,r�r�rrr r�.s�z_PosixFlavour.gethomedirN)rIrJrKr)r0r��	posixpathr�r�r�r�r3rDrorxr�r�r�rrrr r�s
r�c@seZdZdS)�	_AccessorN)rIrJrKrrrr r�Bsr�c@s�eZdZejZejZejZejZejZej	Z	e
ed�r>ejZndd�ZejZej
Z
e
ed�rdejZnedd��ZejZejZejZe
ed�r�ejZn
dd	d
�ZejZdd�Zd
d�Zdd�ZejZeejj�Zeejj�ZdS)�_NormalAccessor�lchmodcCstd��dS)Nz%lchmod() not available on this system��NotImplementedError)r,�pathobj�moderrr r�Xsz_NormalAccessor.lchmod�linkcCstd��dS)Nz&os.link() not available on this systemr��r,�targetrrr �link_tobsz_NormalAccessor.link_to�symlinkFcCstd��dS)Nz)os.symlink() not available on this systemr�)r,�src�dst�target_is_directoryrrr r�osz_NormalAccessor.symlinkcCs
t�|�Sr()r��readlink�r,r�rrr r�usz_NormalAccessor.readlinkcCs>zddl}|�|�|�j�jWSty8td��Yn0dS)Nrz*Path.owner() is unsupported on this system)r�r��stat�st_uid�pw_name�ImportErrorr�)r,r�r�rrr �ownerxs
z_NormalAccessor.ownercCs>zddl}|�|�|�j�jWSty8td��Yn0dS)Nrz*Path.group() is unsupported on this system)�grp�getgrgidr��st_gid�gr_namer�r�)r,r�r�rrr �groups
z_NormalAccessor.groupN)F)rIrJrKr�r��lstat�open�listdir�scandir�chmod�hasattrr��mkdir�unlinkr�r��staticmethod�rmdir�renamer2r��utimer�r�r��getcwdr��
expanduser�realpathrrrr r�Gs8




r�cCsR|d}|dd�}|dkr"t}n$d|vr4td��nt|�rBt}nt}||||�S)NrrC�**z:Invalid pattern: '**' can only be an entire path component)�_RecursiveWildcardSelector�
ValueErrorr&�_WildcardSelector�_PreciseSelector)�
pattern_parts�flavourr%�child_parts�clsrrr �_make_selector�s
r��	lru_cachec@seZdZdd�Zdd�ZdS)�	_SelectorcCs0||_|rt||�|_d|_nt�|_d|_dS�NTF)r�r��	successor�dironly�_TerminatingSelector)r,r�r�rrr r-�sz_Selector.__init__cCs<t|�}|j}|j}|jj}||�s,tg�S|�||||�Sr()�type�is_dir�exists�	_accessorr��iter�_select_from)r,�parent_path�path_clsr�r�r�rrr �select_from�sz_Selector.select_fromN)rIrJrKr-r�rrrr r��s	r�c@seZdZdd�ZdS)r�ccs
|VdSr(r)r,r�r�r�r�rrr r��sz!_TerminatingSelector._select_fromN)rIrJrKr�rrrr r��sr�c@seZdZdd�Zdd�ZdS)r�cCs||_t�|||�dSr()r�r�r-)r,r�r�r�rrr r-�sz_PreciseSelector.__init__ccsZz@|�|j�}|jr|n||�r>|j�||||�D]
}|Vq2WntyTYdS0dSr()�_make_child_relpathr�r�r�r��PermissionError)r,r�r�r�r�r�rlrrr r��sz_PreciseSelector._select_fromN�rIrJrKr-r�rrrr r��sr�c@seZdZdd�Zdd�ZdS)r�cCs|�|�|_t�|||�dSr()rx�matchr�r-�r,r%r�r�rrr r-�sz_WildcardSelector.__init__ccs�z�||��}t|�}Wd�n1s(0Y|D]�}|jr�z|��sNWq6Wn:ty�}z"t|�sj�WYd}~q6WYd}~n
d}~00|j}	|�|	�r6|�|	�}
|j�	|
|||�D]
}|Vq�q6Wnt
y�YdS0dSr()�listr�r��OSErrorr!r�r�r�r�r�r�)r,r�r�r�r��
scandir_it�entries�entry�er�r�rlrrr r��s&
&"

z_WildcardSelector._select_fromNr�rrrr r��sr�c@s$eZdZdd�Zdd�Zdd�ZdS)r�cCst�|||�dSr()r�r-r�rrr r-�sz#_RecursiveWildcardSelector.__init__ccs�|Vz�||��}t|�}Wd�n1s.0Y|D]v}d}z|��}Wn.ty~}zt|�sj�WYd}~n
d}~00|r<|��s<|�|j�}	|�|	||�D]
}
|
Vq�q<Wnty�YdS0dSr�)	r�r�r�r!�
is_symlinkr�r��_iterate_directoriesr�)r,r�r�r�r�r�r��entry_is_dirr�r�rlrrr r��s"
&z/_RecursiveWildcardSelector._iterate_directoriesc	cs�zjt�}zT|jj}|�|||�D]0}|||||�D]}||vr2|V|�|�q2q W|��n
|��0Wnty~YdS0dSr()r�r�r�r��add�clearr�)	r,r�r�r�r��yielded�successor_select�starting_pointrlrrr r�sz'_RecursiveWildcardSelector._select_fromN)rIrJrKr-r�r�rrrr r��sr�c@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�_PathParents)�_pathcls�_drv�_root�_partscCs&t|�|_|j|_|j|_|j|_dSr()r�r�rrrr�rrr r-$s
z_PathParents.__init__cCs(|js|jrt|j�dSt|j�SdSrB)rrr_rr+rrr �__len__+sz_PathParents.__len__cCs@|dks|t|�krt|��|j�|j|j|jd|d��S)NrrC)r_�
IndexErrorr��_from_parsed_partsrrr)r,�idxrrr �__getitem__1s
�z_PathParents.__getitem__cCsd�|jj�S)Nz<{}.parents>)�formatr�rIr+rrr �__repr__7sz_PathParents.__repr__N)rIrJrK�	__slots__r-rrr	rrrr r�s
r�c@s�eZdZdZdd�Zdd�Zedd��Zed[d	d
��Zed\dd��Z	ed
d��Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zedd ��Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zeed/�d0d1�Zeed2�d3d1�Zed4d5��Zed6d7��Z ed8d9��Z!ed:d;��Z"ed<d=��Z#d>d?�Z$d@dA�Z%dBdC�Z&dDdE�Z'dFdG�Z(edHdI��Z)dJdK�Z*dLdM�Z+dNdO�Z,edPdQ��Z-edRdS��Z.dTdU�Z/dVdW�Z0dXdY�Z1dZS)]r)rrr�_str�_hash�_pparts�_cached_cpartscGs$|turtjdkrtnt}|�|�S)NrO)rr�r�rr�_from_parts)r��argsrrr �__new__IszPurePath.__new__cCs|jt|j�fSr()�	__class__�tuplerr+rrr �
__reduce__SszPurePath.__reduce__cCsdg}|D]N}t|t�r"||j7}qt�|�}t|t�rF|�t|��qtdt|���q|j	�
|�S)NzNargument should be a str object or an os.PathLike object returning str, not %r)�
isinstancerrr��fspath�strr5�	TypeErrorr��_flavourrA)r�rr9�arrr �_parse_argsXs


��zPurePath._parse_argsTcCs<t�|�}|�|�\}}}||_||_||_|r8|��|Sr()�objectrrrrr�_init)r�r�initr,r;r<r9rrr rls
zPurePath._from_partscCs,t�|�}||_||_||_|r(|��|Sr()rrrrrr)r�r;r<r9rr,rrr rys
zPurePath._from_parsed_partscCs4|s|r$|||j�|dd��S|j�|�SdSrB)rr*)r�r;r<r9rrr �_format_parsed_parts�szPurePath._format_parsed_partscCsdSr(rr+rrr r�szPurePath._initcCs@|�|�\}}}|j�|j|j|j|||�\}}}|�|||�Sr()rrrHrrrr)r,rr;r<r9rrr �_make_child�s
�
zPurePath._make_childcCs@z|jWSty:|�|j|j|j�p,d|_|jYS0dS)Nr/)r�AttributeErrorrrrrr+rrr �__str__�s��zPurePath.__str__cCst|�Sr()rr+rrr �
__fspath__�szPurePath.__fspath__cCs|j}t|��|jd�S)NrN)rrr2r)�r,�frrr r��szPurePath.as_posixcCs
t�|�Sr()r��fsencoder+rrr �	__bytes__�szPurePath.__bytes__cCsd�|jj|���S)Nz{}({!r}))rrrIr�r+rrr r	�szPurePath.__repr__cCs|��std��|j�|�S)Nz.relative path can't be expressed as a file URI)�is_absoluter�rr�r+rrr �as_uri�szPurePath.as_uricCs6z|jWSty0|j�|j�|_|jYS0dSr()rr!rrorr+rrr �_cparts�s
zPurePath._cpartscCs&t|t�stS|j|jko$|j|juSr()rr�NotImplementedr*r�r,�otherrrr �__eq__�s
zPurePath.__eq__cCs6z|jWSty0tt|j��|_|jYS0dSr()rr!�hashrr*r+rrr �__hash__�s
zPurePath.__hash__cCs&t|t�r|j|jurtS|j|jkSr(�rrrr+r*r,rrr �__lt__�szPurePath.__lt__cCs&t|t�r|j|jurtS|j|jkSr(r1r,rrr �__le__�szPurePath.__le__cCs&t|t�r|j|jurtS|j|jkSr(r1r,rrr �__gt__�szPurePath.__gt__cCs&t|t�r|j|jurtS|j|jkSr(r1r,rrr �__ge__�szPurePath.__ge__cCs|Sr(r)r�r�rrr �__class_getitem__�szPurePath.__class_getitem__rz.The drive prefix (letter or UNC path), if any.)�docrzThe root of the path, if any.cCs|j|j}|Sr()rr)r,�anchorrrr r8�szPurePath.anchorcCs.|j}t|�|js|jrdndkr&dS|dS)NrCrr.r[)rr_rrrnrrr r��sz
PurePath.namecCsD|j}|�d�}d|kr,t|�dkr<nn||d�SdSdS)Nr/rrCr.�r��rfindr_�r,r��irrr �suffix�s

 zPurePath.suffixcCs:|j}|�d�rgS|�d�}dd�|�d�dd�D�S)Nr/cSsg|]}d|�qS)r/r)rUr=rrr rmrXz%PurePath.suffixes.<locals>.<listcomp>rC)r��endswithrar4�r,r�rrr �suffixess


zPurePath.suffixescCsD|j}|�d�}d|kr,t|�dkr<nn|d|�S|SdS)Nr/rrCr9r;rrr �stems

 z
PurePath.stemcCs�|jstd|f��|j�|f�\}}}|rX|d|jj|jjfvsX|sX|sXt|�dkrdtd|��|�|j|j	|j
dd�|g�S)N�%r has an empty namer[rCzInvalid name %r)r�r�rrAr)r0r_rrrr)r,r�r;r<r9rrr �	with_names��
��zPurePath.with_namecCs|�||j�Sr()rCr=)r,rArrr �	with_stem%szPurePath.with_stemcCs�|j}|j|vs |jr.|j|vr.td|f��|r<|�d�rD|dkrPtd|��|j}|shtd|f��|j}|s|||}n|dt|��|}|�|j	|j
|jdd�|g�S)NzInvalid suffix %rr/rBr[)rr)r0r�rzr�r=r_rrrr)r,r=r%r��
old_suffixrrr �with_suffix)s
�zPurePath.with_suffixc
Gs�|std��|j}|j}|j}|r8||g|dd�}n|}|�|�\}}}|rf||g|dd�}	n|}	t|	�}
|jj}|
dkr�|s�|r�n||d|
��||	�kr�|�|||�}t	d�
t|�t|����|�d|
dkr�|nd||
d��S)Nzneed at least one argumentrCrzU{!r} is not in the subpath of {!r} OR one path is relative and the other is absolute.r.)
rrrrrr_rrorr�rrr)
r,r-r9r;r<�	abs_parts�to_drv�to_root�to_parts�to_abs_parts�n�cf�	formattedrrr �relative_to>s,	*�
�zPurePath.relative_tocGs*z|j|�WdSty$YdS0dSr�)rOr�r,rrr �is_relative_to_s

zPurePath.is_relative_tocCs2z|jWSty,t|j�|_|jYS0dSr()r
r!rrr+rrr r9hs
zPurePath.partscGs
|�|�Sr()r )r,rrrr �joinpathtszPurePath.joinpathcCs*z|�|f�WSty$tYS0dSr()r rr+�r,�keyrrr �__truediv__|szPurePath.__truediv__cCs0z|�|g|j�WSty*tYS0dSr()rrrr+rRrrr �__rtruediv__�szPurePath.__rtruediv__cCs@|j}|j}|j}t|�dkr*|s&|r*|S|�|||dd��S)NrCr[)rrrr_r)r,r;r<r9rrr �parent�szPurePath.parentcCst|�Sr()r�r+rrr �parents�szPurePath.parentscCs|js
dS|jjpt|j�Sr�)rrr��boolrr+rrr r(�szPurePath.is_absolutecCs|j�|j�Sr()rr�rr+rrr r��szPurePath.is_reservedc	Cs�|jj}||�}|j�|f�\}}}|s0td��|rF|||j�krFdS|r\|||j�kr\dS|j}|sj|r�t|�t|�kr~dS|dd�}nt|�t|�kr�dStt	|�t	|��D]\}}t
�||�s�dSq�dS)Nz
empty patternFrCT)rrDrAr�rrr*r_�zipr1rr�fnmatchcase)	r,�path_patternrMr;r<�	pat_partsr9r>r%rrr r��s(zPurePath.matchN)T)T)2rIrJrKr
rr�classmethodrrrrrr r"r#r�r'r	r)�propertyr*r.r0r2r3r4r5r6rr�r<r8r�r=r@rArCrDrFrOrPr9rQrTrUrVrWr(r�r�rrrr r;sz	

	


��





	!	

	
rc@seZdZeZdZdS)rrN)rIrJrK�_posix_flavourrr
rrrr r�src@seZdZeZdZdS)rrN)rIrJrK�_windows_flavourrr
rrrr r�src@s�eZdZdZdd�Zdcdd�Zdd�Zd	d
�Zdd�Zdddd�Z	dedd�Z
edd��Zedd��Z
dd�Zdd�Zdd�Zdd�Zdd �Zdfd"d#�Zd$d%�Zd&d'�Zd(d)�Zdgd,d-�Zd.d/�Zdhd0d1�Zd2d3�Zdid4d5�Zd6d7�Zdjd9d:�Zdkd;d<�Zd=d>�Zd?d@�Z dldAdB�Z!dCdD�Z"dEdF�Z#dGdH�Z$dIdJ�Z%dmdKdL�Z&dMdN�Z'dOdP�Z(dQdR�Z)dSdT�Z*dUdV�Z+dWdX�Z,dYdZ�Z-d[d\�Z.d]d^�Z/d_d`�Z0dadb�Z1dS)nr)r�cOsL|turtjdkrtnt}|j|dd�}|jjs@td|j	f��|�
�|S)NrOF�rz$cannot instantiate %r on your system)rr�r�rrrrr�r�rIr)r�r�kwargsr,rrr r�s�zPath.__new__NcCs|dur|j|_nt|_dSr()r��_normal_accessor)r,�templaterrr r�s
z
Path._initcCs|j|g}|�|j|j|�Sr()rrrr)r,r>r9rrr r��szPath._make_child_relpathcCs|Sr(rr+rrr �	__enter__�szPath.__enter__cCsdSr(r)r,�t�v�tbrrr �__exit__s	z
Path.__exit__�cCs|j�|||�Sr(�r�r�)r,r��flagsr�rrr �_openerszPath._opener�cCs|j�|||�Sr(rk)r,rlr�rrr �	_raw_openszPath._raw_opencCs|t���Sr()r�r��r�rrr �cwdszPath.cwdcCs||�j�d��Sr()rr�rprrr �home sz	Path.homecCsB|��}z|��}Wnty2|j�|�}Yn0tj�||�Sr()r�r!r�r�r��samestat)r,�
other_path�st�other_strrr �samefile'sz
Path.samefileccs,|j�|�D]}|dvrq|�|�VqdS)N>z..r/)r�r�r�r?rrr �iterdir2szPath.iterdirccsnt�d||�|s td�|���|j�|f�\}}}|s<|rDtd��tt|�|j�}|�	|�D]
}|Vq^dS)Nzpathlib.Path.globzUnacceptable pattern: {!r}�%Non-relative patterns are unsupported)
r6�auditr�rrrAr�r�rr��r,rwr;r<r��selectorrlrrr �glob<sz	Path.globccs`t�d||�|j�|f�\}}}|s*|r2td��tdt|�|j�}|�|�D]
}|VqPdS)Nzpathlib.Path.rglobry)r�)r6rzrrAr�r�rr�r{rrr �rglobJsz
Path.rglobcCs6|��r|S|jt��g|jdd�}|j|d�|S�NFra)rd)r(rr�r�rr)r,�objrrr �absoluteWs
z
Path.absoluteFc
Cs�dd�}z|jj||d�}Wn.tyJ}z||��WYd}~n
d}~00|�|f�}|s�z|��Wn,ty�}z||�WYd}~n
d}~00|S)NcSs0t|dd�}|jtks|tkr,td|j��dS)NrrzSymlink loop from %r)rrr�_WINERROR_CANT_RESOLVE_FILENAMEr��filename)r�rrrr �check_eloopnsz!Path.resolve.<locals>.check_eloop)�strict)r�r�r�rr�)r,r�r�rkr�rlrrr �resolvegszPath.resolvecCs|j�|�Sr()r�r�r+rrr r��sz	Path.statcCs|j�|�Sr()r�r�r+rrr r��sz
Path.ownercCs|j�|�Sr()r�r�r+rrr r��sz
Path.group�rr[c	Cstj|||||||jd�S)N)�opener)�ior�rm)r,r��	buffering�encoding�errors�newlinerrr r��s�z	Path.opencCs8|jdd��}|��Wd�S1s*0YdS)N�rb�r��r��readr$rrr �
read_bytes�szPath.read_bytescCs<|jd||d��}|��Wd�S1s.0YdS)Nr��r�r�r�r�)r,r�r�r%rrr �	read_text�szPath.read_textcCsBt|�}|jdd��}|�|�Wd�S1s40YdS)N�wbr�)�
memoryviewr��write)r,�data�viewr%rrr �write_bytes�szPath.write_bytescCsXt|t�std|jj��|jd||d��}|�|�Wd�S1sJ0YdS)Nzdata must be str, not %s�wr�)rrrrrIr�r�)r,r�r�r�r%rrr �
write_text�s
�zPath.write_textcCs,|j�|�}|j|fdd�}|j|d�|Sr)r�r�rr)r,r�r�rrr r��sz
Path.readlinkTcCsb|r.z|j�|d�Wnty(Yn0dStjtjB}|sH|tjO}|�||�}t�|�dSr()	r�r�r�r��O_CREAT�O_WRONLY�O_EXCLro�close)r,r��exist_okrl�fdrrr �touch�s
z
Path.touchcCsxz|j�||�Wn`tyT|r.|j|kr0�|jjddd�|j|d|d�Yn tyr|rl|��sn�Yn0dS)NT)rWr�F)r�r��FileNotFoundErrorrVr�r�)r,r�rWr�rrr r��sz
Path.mkdircCs|j�||�dSr()r�r��r,r�rrr r��sz
Path.chmodcCs|j�||�dSr()r�r�r�rrr r��szPath.lchmodcCs.z|j�|�Wnty(|s$�Yn0dSr()r�r�r�)r,�
missing_okrrr r��s
zPath.unlinkcCs|j�|�dSr()r�r�r+rrr r�sz
Path.rmdircCs|j�|�Sr()r�r�r+rrr r�
sz
Path.lstatcCs|j�||�|�|�Sr()r�r�rr�rrr r�s
zPath.renamecCs|j�||�|�|�Sr()r�r2rr�rrr r2!s
zPath.replacecCs|j�|||�dSr()r�r�)r,r�r�rrr �
symlink_to.szPath.symlink_tocCs|j�||�dSr()r�r�r�rrr r�5s
zPath.link_toc
CsTz|��WnBty<}zt|�s&�WYd}~dSd}~0tyNYdS0dS�NFT)r�r�r!r��r,r�rrr r�CszPath.existsc
CsXzt|��j�WSty@}zt|�s*�WYd}~dSd}~0tyRYdS0dSr�)r	r��st_moder�r!r�r�rrr r�RszPath.is_dirc
CsXzt|��j�WSty@}zt|�s*�WYd}~dSd}~0tyRYdS0dSr�)rr�r�r�r!r�r�rrr �is_filebszPath.is_filecCsn|��r|��sdSz|j��j}Wnty8YdS0|��j}||krPdS|��j}|j��j}||kSr�)r�r�rVr��st_devr��st_ino)r,�
parent_dev�dev�ino�
parent_inorrr �is_mountss

z
Path.is_mountc
CsXzt|��j�WSty@}zt|�s*�WYd}~dSd}~0tyRYdS0dSr�)r
r�r�r�r!r�r�rrr r��szPath.is_symlinkc
CsXzt|��j�WSty@}zt|�s*�WYd}~dSd}~0tyRYdS0dSr�)r
r�r�r�r!r�r�rrr �is_block_device�szPath.is_block_devicec
CsXzt|��j�WSty@}zt|�s*�WYd}~dSd}~0tyRYdS0dSr�)rr�r�r�r!r�r�rrr �is_char_device�szPath.is_char_devicec
CsXzt|��j�WSty@}zt|�s*�WYd}~dSd}~0tyRYdS0dSr�)rr�r�r�r!r�r�rrr �is_fifo�szPath.is_fifoc
CsXzt|��j�WSty@}zt|�s*�WYd}~dSd}~0tyRYdS0dSr�)rr�r�r�r!r�r�rrr �	is_socket�szPath.is_socketcCs`|js\|js\|jr\|jddd�dkr\|j�|jddd��}|�|g|jdd��S|S)NrrC�~)rrrrr�r)r,�homedirrrr r��s��zPath.expanduser)N)rj)rn)F)r�r[NNN)NN)NN)rjT)rnFF)F)F)2rIrJrKr
rrr�rerirmror]rqrrrwrxr}r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r2r�r�r�r�r�r�r�r�r�r�r�r�rrrr r�sf	�
	

	




�
	
	

	




rc@seZdZdZdS)rrN)rIrJrKr
rrrr r�src@seZdZdZdd�ZdS)rrcCstd��dS)Nz-Path.is_mount() is unsupported on this systemr�r+rrr r��szWindowsPath.is_mountN)rIrJrKr
r�rrrr r�sr)@rr�	functoolsr�r�r�r�rpr6�_collections_abcrrrrrrr�operatorrr�r	r
rrr
rr�urllib.parserr��supports_symlinks�__all__�_WINERROR_NOT_READY�_WINERROR_INVALID_NAMEr�rrr!r&rr'rLr�r`r_r�r�rcr�r�r�r�r�r�r�r�r�r�PathLike�registerrrrrrrrrr �<module>sp$	�?9F
,



© 2025 Cubjrnet7