????
Your IP : 3.21.34.214
B
YI~d�=�&@sZdZdZdZdZdZdZdZdZddlZddl Z ddl
Z
ddlZddlTd d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.g&Zd/d0�Z
d1d �Zd2d
�Zd3d�Zd4d
�Zd5d�Zejje_d6d�Zd7d�Zd8d�Zd9d�Zd:d�Zd;d�Zd<d�Zdadad=d�Zd>d�Zd?d�Z d@d+�Z!dAdB�Z"e j#dCkZ$dFdDd-�Z%dEd.�Z&dS)G�.z..�/�:z
/bin:/usr/binNz /dev/null�)�*�normcase�isabs�join�
splitdrive�split�splitext�basename�dirname�commonprefix�getsize�getmtime�getatime�getctime�islink�exists�lexists�isdir�isfile�ismount�
expanduser�
expandvars�normpath�abspath�samefile�sameopenfile�samestat�curdir�pardir�sep�pathsep�defpath�altsep�extsep�devnull�realpath�supports_unicode_filenames�relpath�
commonpathcCst|t�rdSdSdS)N�/r)�
isinstance�bytes)�path�r0�./opt/alt/python37/lib64/python3.7/posixpath.py�_get_sep)s
r2cCs.t�|�}t|ttf�s*td�|jj���|S)Nz2normcase() argument must be str or bytes, not '{}') �os�fspathr-r.�str� TypeError�format� __class__�__name__)�sr0r0r1r4s
cCst�|�}t|�}|�|�S)N)r3r4r2�
startswith)r:r"r0r0r1r@s
c
Gs�t�|�}t|�}|}yb|s,|dd�|xHttj|�D]8}|�|�rN|}q:|r\|�|�rf||7}q:|||7}q:WWn.tttfk
r�t j
d|f|���YnX|S)Nrr)r3r4r2�mapr;�endswithr6�AttributeError�BytesWarning�genericpath�_check_arg_types)�a�pr"r/�br0r0r1rKs
cCs`t�|�}t|�}|�|�d}|d|�||d�}}|rX||t|�krX|�|�}||fS)N�)r3r4r2�rfind�len�rstrip)rCr"�i�head�tailr0r0r1r
hs
cCs6t�|�}t|t�rd}d}nd}d}t�||d|�S)Nr,�.rr)r3r4r-r.r@� _splitext)rCr"r&r0r0r1rys
cCst�|�}|dd�|fS)Nr)r3r4)rCr0r0r1r �s
cCs,t�|�}t|�}|�|�d}||d�S)NrE)r3r4r2rF)rCr"rIr0r0r1r�s
cCsNt�|�}t|�}|�|�d}|d|�}|rJ||t|�krJ|�|�}|S)NrE)r3r4r2rFrGrH)rCr"rIrJr0r0r1r
�s
c Cs4yt�|�}Wnttfk
r&dSXt�|j�S)NF)r3�lstat�OSErrorr>�stat�S_ISLNK�st_mode)r/�str0r0r1r�s
cCs(yt�|�Wntk
r"dSXdS)NFT)r3rNrO)r/r0r0r1r�s
cCs�yt�|�}Wntk
r"dSXt�|j�r4dSt|t�rJt|d�}n
t|d�}t |�}yt�|�}Wntk
r~dSX|j
}|j
}||kr�dS|j}|j}||kr�dSdS)NFs..z..T)r3rNrOrPrQrRr-r.rr(�st_dev�st_ino)r/�s1�parent�s2�dev1�dev2�ino1�ino2r0r0r1r�s.
c Cs4t�|�}t|t�rd}nd}|�|�s,|St|�}|�|d�}|dkrPt|�}|dkr�dtjkr�ddl }y|�
t���j}Wq�t
k
r�|SXq�tjd}nRddl }|d|�}t|t�r�t|d�}y|�|�}Wnt
k
r�|SX|j}t|t��rt�|�}d}nd}|�|�}|||d��p2|S) N�~�~rEr�HOME�ASCIIr,r)r3r4r-r.r;r2�findrG�environ�pwd�getpwuid�getuid�pw_dir�KeyErrorr5�getpwnam�fsencoderH) r/�tilder"rIrc�userhome�name�pwent�rootr0r0r1r�sB
cCs\t�|�}t|t�rVd|kr |Sts:ddl}|�d|j�atj}d}d}t tdd�}n:d|krb|St
s|ddl}|�d|j�a
t
j}d }d
}tj}d}x�|||�}|s�P|�d�\}}|�
d�} | �|�r�| �|�r�| dd�} y.|dk�rt�tjt�| ��}
n|| }
Wntk
�r&|}Yq�X||d�}|d|�|
}t|�}||7}q�W|S)
N�$rs\$(\w+|\{[^}]*\})�{�}�environb�$z\$(\w+|\{[^}]*\})�{�}rE���)r3r4r-r.� _varprogb�re�compiler`�search�getattr�_varprogrb�span�groupr;r=ri�fsdecodergrG)r/rxrz�start�endrbrI�m�jrl�valuerKr0r0r1rsP
c Cs�t�|�}t|t�r&d}d}d}d}nd}d}d}d}||krB|S|�|�}|rp|�|d �rp|�|d
�spd }|�|�}g}xR|D]J}|||fkr�q�||ks�|s�|r�|r�|d|kr�|�|�q�|r�|��q�W|}|�|�}|r�|||}|p�|S)Nr,�rLs..r�rz..��rv) r3r4r-r.r;r
�append�popr) r/r"�empty�dot�dotdot�initial_slashes�comps� new_comps�compr0r0r1rRs>
cCs@t�|�}t|�s8t|t�r&t��}nt��}t||�}t|�S)N) r3r4rr-r.�getcwdb�getcwdrr)r/�cwdr0r0r1rxs
cCs*t�|�}t|dd�|i�\}}t|�S)Nr)r3r4�
_joinrealpathr)�filenamer/�okr0r0r1r(�s
c
Cst|t�rd}d}d}nd}d}d}t|�r<|dd�}|}x�|�r|�|�\}}}|r>||krbq>||kr�|r�t|�\}}||kr�t|||�}q>|}q>t||�}t|�s�|}q>||kr�||}|dk r�q>t||�dfSd||<t|t� |�|�\}} | �st||�dfS|||<q>W|d fS)
Nr,rLs..rrz..rEFT)
r-r.r� partitionr
rrr�r3�readlink)
r/�rest�seenr"r r!rl�_�newpathr�r0r0r1r��sH
r��darwinc Cs�|std��t�|�}t|t�r.d}d}d}nd}d}d}|dkrH|}n
t�|�}yndd �t|��|�D�}d
d �t|��|�D�}tt||g��}|gt|�|||d�}|s�|St |�St
ttt
fk
r�t�d||��YnXdS)Nzno path specifiedrLr,s..rrz..cSsg|]}|r|�qSr0r0)�.0�xr0r0r1�
<listcomp>�szrelpath.<locals>.<listcomp>cSsg|]}|r|�qSr0r0)r�r�r0r0r1r��sr*)�
ValueErrorr3r4r-r.rr
rGrrr6r>r?�DeprecationWarningr@rA) r/r�r r"r!�
start_list� path_listrI�rel_listr0r0r1r*�s0
c s2|std��tttj|��}t|dt�r4d�d�nd�d�yƇfdd�|D�}yt�fd d
�|D��\}Wntk
r�td�d�YnX�fdd�|D�}t|�}t |�}|}x.t
|�D]"\}}|||kr�|d|�}Pq�W|r�n
�dd�}|��|�Stt
fk
�r,tjd|���YnXdS)Nz%commonpath() arg is an empty sequencerr,rLrrcsg|]}|����qSr0)r
)r�r/)r"r0r1r��szcommonpath.<locals>.<listcomp>c3s|]}|dd��kVqdS)NrEr0)r�rC)r"r0r1� <genexpr>szcommonpath.<locals>.<genexpr>z%Can't mix absolute and relative pathscsg|]}�fdd�|D��qS)csg|]}|r|�kr|�qSr0r0)r��c)r r0r1r�sz)commonpath.<locals>.<listcomp>.<listcomp>r0)r�r:)r r0r1r�sr+)r+)r��tupler<r3r4r-r.�set�min�max� enumeraterr6r>r@rA) �paths�split_pathsrrVrX�commonrIr��prefixr0)r r"r1r+�s6)N)'r r!r&r"r#r$r%r'r3�sysrPr@�__all__r2rrrr
rrM�__doc__r rr
rrrrr|rwrrrr(r��platformr)r*r+r0r0r0r1�<module>sX
*25& 3
)