Current File : //opt/alt/python310/lib64/python3.10/__pycache__/ntpath.cpython-310.opt-2.pyc
o
S�g)s�@s dZdZdZdZdZdZdZdZddlZddl Z ddl
Z
ddlZdd lTgd
�Zdd�Z
zdd
lmZmZmZdd�ZWn
eyJdd�ZYnwdd�Zdd�Zdd�Zdd�Zdd�Zejje_dd�Zdd�Zdd �Z d!d"�Z!zdd#l"m#Z#Wney�dZ#Ynwd$d%�Z$d&d'�Z%d(d)�Z&d*d+�Z'd,d-�Z(zdd.l"m)Z)Wney�e(Z*Ynwd/d0�Z*z
dd1l"m+Z+m,Z-Wney�e*Z.Ynwd2d3�Z/d4d5�Z0d6d7�d8d9�Z.e1e d:�o�e �2�d;d<kZ3dBd=d>�Z4d?d@�Z5z ddAl"m6Z7WdSe�yYdSw)C�.�..�\�;�/z.;C:\binZnul�N)�*)&�normcase�isabs�join�
splitdrive�split�splitext�basename�dirname�commonprefix�getsize�getmtime�getatime�getctime�islink�exists�lexists�isdir�isfile�ismount�
expanduser�
expandvars�normpath�abspath�curdir�pardir�sep�pathsep�defpath�altsep�extsep�devnull�realpath�supports_unicode_filenames�relpath�samefile�sameopenfile�samestat�
commonpathcCst|t�rdSdS)N�\/�\/)�
isinstance�bytes��path�r4�-/opt/alt/python310/lib64/python3.10/ntpath.py�
_get_bothseps#s
r6)�
LCMapStringEx�LOCALE_NAME_INVARIANT�LCMAP_LOWERCASEcCsf t�|�}|s
|St|t�r)t��}|�|d��dd�}tt t
|�}|�|d�Stt t
|�dd��S)N�surrogateescaperr)�os�fspathr0r1�sys�getfilesystemencoding�decode�replace�_LCMapStringEx�_LOCALE_NAME_INVARIANT�_LCMAP_LOWERCASE�encode)�s�encodingr4r4r5r3s
�
�rcCsB t�|�}t|t�rt�t�|��dd����S|�dd���S)Nrr)r;r<r0r1�fsencode�fsdecoder@�lower�rEr4r4r5rFs
cCsl t�|�}t|t�r|�dd��d�rdSn|�dd��d�r"dSt|�d}t|�d ko5|d t|�vS)
N�/�\�\\?\Trr�\\?\�r) r;r<r0r1r@�
startswithr�lenr6rJr4r4r5r Ws
�r c
Gs@t�|�}t|t�rd}d}d}nd}d}d}zs|s"|dd�|t|�\}}ttj|�D]>}t|�\}} | rG| d|vrG|sB|sD|}| }q.|r\||kr\|��|��krZ|}| }q.|}|rh|d|vrh||}|| }q.|r�|d|vr�|r�|dd�|kr�|||WS||WSttt fy�t
jd |g|�R��w)
NrLr.�:rr/�:r���r
)r;r<r0r1r�maprI� TypeError�AttributeError�BytesWarning�genericpath�_check_arg_types)
r3�pathsr!�seps�colonZresult_driveZresult_path�pZp_driveZp_pathr4r4r5r
gsL
�
�r
cCs t�|�}t|�dkr�t|t�rd}d}d}nd}d}d}|�||�}|dd�|dkrr|dd �|krr|�|d�}|d
krH|dd�|fS|�||d�}||dkr^|dd�|fS|d
krft|�}|d|�||d�fS|dd�|kr�|dd�|dd�fS|dd�|fS)N�rLrKrRrrrSr�rTrO)r;r<rQr0r1r@�find)r^r!r$r]Znormp�indexZindex2r4r4r5r�s0
$rcCs� t�|�}t|�}t|�\}}t|�}|r,||d|vr,|d8}|r,||d|vs|d|�||d�}}|�|�p?|}|||fS�NrO)r;r<r6rrQ�rstrip)r^r\�d�i�head�tailr4r4r5r�s
�rcCs4t�|�}t|t�rt�|ddd�St�|ddd�S)NrLrK�.rrr)r;r<r0r1rY� _splitext�r^r4r4r5r
�s
r
cC� t|�dSrc�rrkr4r4r5r��rcCrl)Nrrmrkr4r4r5r�rnrc
Cs8 zt�|�}Wn
tttfyYdSwt�|j�S)NF)r;�lstat�OSError�
ValueErrorrW�stat�S_ISLNK�st_mode�r3�str4r4r5r�s�rc Cs, zt�|�}WdSttfyYdSw)NFT)r;rorprqrur4r4r5r
s��r)�_getvolumepathnamecCsr t�|�}t|�}t|�}t|�\}}|r#|d|vr#|p"||vS||vr)dStr7|�|�t|��|�kSdS)NrTF)r;r<r6rrrwrd)r3r\�root�restr4r4r5r s
rcCsL t�|�}t|t�rd}nd}|�|�s|Sdt|�}}||kr:||t|�vr:|d7}||kr:||t|�vs*dtjvrEtjd}n"dtjvrL|Sztjd}Wnty^d}Ynwt |tjd�}|dkr�|d|�}t|t�r{t�
|�}tj�d�}||kr�|t|�kr�|St t
|�|�}t|t�r�t�|�}|||d�S) N�~�~rOZUSERPROFILEZHOMEPATHZ HOMEDRIVE�ZUSERNAME)r;r<r0r1rPrQr6�environ�KeyErrorr
rH�getrrrG)r3�tilderf�n�userhome�driveZtarget_userZcurrent_userr4r4r5r;sB
�
�
rcCs2 t�|�}t|t�r5d|vrd|vr|Sddl}t|j|jdd�}d}d}d}d}d}ttd d�}n#d
|vr?d|vr?|Sddl}|j|jd}d}d}d
}d}d
}tj}|dd�} d}
t |�}|
|k�r||
|
d�}||kr�||
dd�}t |�}z|�
|�}
| ||d|
d�7} W�nyty�| ||7} |d}
Y�nfw||k�r ||
d|
d�|kr�| |7} |
d7}
�nJ||
dd�}t |�}z|�
|�}
Wnty�| ||7} |d}
Y�n#w|d|
�}
z|du�rt�tjt�
|
��}n||
}Wnt�y||
|}Ynw| |7} n�||k�r||
d|
d�|k�r;| |7} |
d7}
n�||
d|
d�|k�r�||
dd�}t |�}z|�
|�}
Wnt�yq| |||7} |d}
Yn�w|d|
�}
z|du�r�t�tjt�
|
��}n||
}Wnt�y�|||
|}Ynw| |7} nh|dd�}
|
d7}
||
|
d�}|�r�||v�r�|
|7}
|
d7}
||
|
d�}|�r�||v�s�z|du�r�t�tjt�
|
��}n||
}Wnt�y�||
}Ynw| |7} |�r
|
d8}
n| |7} |
d7}
|
|ksi| S)N�$�%rz_-�ascii�'�{�}�environb�$�%�'�{�}rOr_)r;r<r0r1�stringZ
ascii_lettersZdigits�getattrr}rQrbrqrGrHr~)r3r�ZvarcharsZquoteZpercentZbraceZrbraceZdollarr}�resrbZpathlen�c�var�valuer4r4r5rxs�
�
�
��
�
��
�
����Lrc CsP t�|�}t|t�rd}d}d}d}d}n
d}d}d}d }d
}|�|�r'|S|�||�}t|�\}}|�|�rA||7}|�|�}|�|�}d}|t |�kr�||rX|||kr\||=n6|||kr�|dkr|||d|kr|||d|d�=|d8}n|dkr�|�
|�r�||=n |d7}n|d7}|t |�ksN|s�|s�|�|�||�|�S)
NrLrKri�..)s\\.\rMrrrr)z\\.\rNrrO)
r;r<r0r1rPr@r�lstriprrQ�endswith�appendr
) r3r!r$rr Zspecial_prefixes�prefix�compsrfr4r4r5r�sJ
�
rcCsB t�|�}t|�st|t�rt��}nt��}t||�}t|�S�N) r;r<r r0r1�getcwdb�getcwdr
r)r3�cwdr4r4r5�_abspath_fallbacks
r�)�_getfullpathnamec Cs0 ztt|��WSttfyt|�YSwr�)rr�rprqr�r2r4r4r5r3s�r)�_getfinalpathname�readlinkc
Cs�d}t�}t|�|vrY|�t|��z|}t|�}t|�s/t|�s&|}W|Sttt|�|��}Wn"t yI}z
|j
|vrDWYd}~|S�d}~wtyRY|Swt|�|vs|S)N)rOr_r`��� �2�C�Wi&i(i))�setr�add�_nt_readlinkr rrr
rrp�winerrorrq)r3�allowed_winerror�seenZold_path�exr4r4r5�_readlink_deep@s4 ��
����r�cCs�d}d}|rqzt|�}|rt||�WS|WStyn}zM|j|vr#�zt|�}||kr<|r3t||�n|WWYd}~SWn tyFYnwt|�\}}|r[|s[||WYd}~S|rbt||�n|}WYd}~nd}~ww|s|S)N)rOr_r`r�r�r�r��5�Ar�r��{�i�i�r|)r�r
rpr�r�r)r3r�rhr��new_path�namer4r4r5�_getfinalpathname_nonstrictjs2
�����r�F)�strictc
Csvt|�}t|t�r!d}d}d}t��}t|�tt�t��kr dSnd}d}d}t��}t|�tt�kr5dS|� |�}|sEt
|�sEt||�}zt|�}d }Wnt
yi}z|rX�|j}t|�}WYd}~nd}~ww|s�|� |�r�|� |�r�||t|�d�} n|t|�d�} zt| �|kr�| }W|SW|St
y�}z|j|kr�| }WYd}~|SWYd}~|Sd}~ww|S)
NrMs\\?\UNC\s\\s\\.\NULrNz\\?\UNC\z\\z\\.\NULr)rr0r1r;r�rrGr&r�rPr r
r�rpr�r�rQ)
r3r�r�Z
unc_prefixZnew_unc_prefixr�Z
had_prefixZinitial_winerrorr�Zspathr4r4r5r'�s^
�
��
��
���r'�getwindowsversionr`r_cCsZ t�|�}t|t�rd}d}d}nd}d}d}|dur|}|s$td��t�|�}zott|��}tt|��}t|�\}}t|�\} }
t|�t| �krRtd| |f��d d
�|� |�D�}dd
�|
� |�D�}d}
t
||�D]\}}t|�t|�kr{n|
d
7}
qm|gt|�|
||
d�}|s�|WSt|�WSt
ttttfy�t�d||��w)NrLrir�rrrzno path specifiedz&path is on mount %r, start on mount %rcS�g|]}|r|�qSr4r4��.0�xr4r4r5�
<listcomp>��zrelpath.<locals>.<listcomp>cSr�r4r4r�r4r4r5r��r�rrOr))r;r<r0r1rqrrrrr�ziprQr
rVrWrX�DeprecationWarningrYrZ)r3�startr!rr Z start_absZpath_absZstart_driveZ
start_restZ
path_driveZ path_rest�
start_list� path_listrfZe1Ze2�rel_listr4r4r5r)�sL
�
�r)c s� |std��tttj|��}t|dt�rd�d�d�nd�d�d�z���fd d
�|D�}�fdd
�|D�}zt�fdd
�|D��\}WntyQtd�d�wttdd
�|D���dkrctd��t |d�
����\}}|���}�fdd
�|D�}�fdd
�|D�}t|�}t
|�}t|�D]\} }
|
|| kr�|d| �}n q�|dt|��}|r�|�n|}|��|�WSttfy�tjdg|�R��w)Nz%commonpath() arg is an empty sequencerrLrKrirrrcs g|]}t|��������qSr4)rr@rI)r�r^)r$r!r4r5r�s zcommonpath.<locals>.<listcomp>csg|] \}}|����qSr4rm�r�rer^�r!r4r5r�sc3s$�|]
\}}|dd��kVqdSrcr4r�r�r4r5� <genexpr>s�"zcommonpath.<locals>.<genexpr>z%Can't mix absolute and relative pathscss�|]\}}|VqdSr�r4r�r4r4r5r�&s�rOzPaths don't have the same drivec�g|]
}|r|�kr|�qSr4r4�r�r��rr4r5r�+�csg|]}�fdd�|D��qS)cr�r4r4r�r�r4r5r�-r�z)commonpath.<locals>.<listcomp>.<listcomp>r4)r�rEr�r4r5r�-sr-)rq�tuplerUr;r<r0r1r�rQrr@r�min�max� enumerater
rVrWrYrZ)r[Zdrivesplits�split_pathsr r�r3�common�s1�s2rfr�r�r4)r$rr!r5r-
sN
�
��r-)�_isdirr�)8rr r%r!r"r$r#r&r;r=rrrY�__all__r6Z_winapir7rAr8rBr9rCr�ImportErrorr r
rrr
rj�__doc__rrrr�ntrwrrrrr�r�rr�r�r�r'r�r��hasattrr�r(r)r-r�rr4r4r4r5�<module>s�
�/8
�=q2��*1
4�
84�