a DOgi=@sdZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z ddl Tgd Z d d Z d d ZddZddZddZddZe jje_ddZddZddZddZddZd d!Zd"d#Zdadad$d%Zd&d'Zd(d)Z d*d+Z!d,d-Z"e j#d.kZ$d3d/d0Z%d1d2Z&dS)4.../:z /bin:/usr/binNz /dev/null)*)&normcaseisabsjoin splitdrivesplitsplitextbasenamedirname commonprefixgetsizegetmtimegetatimegetctimeislinkexistslexistsisdirisfileismount expanduser expandvarsnormpathabspathsamefile sameopenfilesamestatcurdirpardirseppathsepdefpathaltsepextsepdevnullrealpathsupports_unicode_filenamesrelpath commonpathcCst|trdSdSdS)N/r) isinstancebytespathr2./opt/alt/python39/lib64/python3.9/posixpath.py_get_sep)s r4cCs t|SNosfspath)sr2r2r3r4srcCst|}t|}||Sr5)r7r8r4 startswith)r9r#r2r2r3r<s rc Gst|}t|}|}z^|s,|dd|ttj|D]8}||rL|}q8|rZ||rd||7}q8|||7}q8Wn.tttfyt j d|g|RYn0|S)Nrr ) r7r8r4mapr:endswith TypeErrorAttributeError BytesWarning genericpath_check_arg_types)apr#r1br2r2r3r Gs    r cCs`t|}t|}||d}|d|||d}}|rX||t|krX||}||fSNr7r8r4rfindlenrstrip)rCr#iheadtailr2r2r3r ds  r cCs6t|}t|trd}d}nd}d}t||d|S)Nr-.rr)r7r8r.r/r@ _splitext)rCr#r'r2r2r3r us  r cCst|}|dd|fSNrr6)rCr2r2r3r s r cCs,t|}t|}||d}||dSrE)r7r8r4rH)rCr#rKr2r2r3r s r cCsNt|}t|}||d}|d|}|rJ||t|krJ||}|SrErG)rCr#rKrLr2r2r3rs   rc Cs6zt|}Wntttfy(YdS0t|jS)NF)r7lstatOSError ValueErrorr>statS_ISLNKst_mode)r1str2r2r3rs rc Cs,zt|Wnttfy&YdS0dS)NFT)r7rQrRrSr0r2r2r3rs rc Cszt|}Wnttfy&YdS0t|jr8dSt|trNt |d}n t |d}t |}zt|}WnttfyYdS0|j }|j }||krdS|j }|j }||krdSdS)NF..rT) r7rQrRrSrTrUrVr.r/r r)st_devst_ino)r1s1parents2dev1dev2ino1ino2r2r2r3rs.    rc Cs8t|}t|trd}nd}||s,|St|}||d}|dkrPt|}|dkrdtjvrddl }z| t j }Wqt y|YS0n tjd}nTddl }|d|}t|trt|d}z||}Wnt y|YS0|j }t|trt|}d}nd}||}|||dp6|S) N~~rFrHOMEASCIIr-r)r7r8r.r/r:r4findrIenvironpwdgetpwuidgetuidpw_dirKeyErrorstrgetpwnamfsencoderJ) r1tilder#rKrhuserhomenamepwentrootr2r2r3rsB                rc CsXt|}t|trVd|vr |Sts:ddl}|d|jatj}d}d}t tdd}n:d|vrb|St s|ddl}|d|ja t j}d }d }tj }d}|||}|sqT| d\}}| d } | |r| |r| d d } z.|durttj t| } n|| } Wnty$|}Yq0||d} |d|| }t|}|| 7}q|S) N$rs\$(\w+|\{[^}]*\}){}environb$z\$(\w+|\{[^}]*\}){}rF)r7r8r.r/ _varprogbrecompileresearchgetattr_varprogrgspangroupr:r<rofsdecoderlrI) r1r~rstartendrgrKmjrrvaluerMr2r2r3rsN          rc Cst|}t|tr&d}d}d}d}nd}d}d}d}||krB|S||}|rp||d rp||d spd }||}g}|D]J}|||fvrq||ks|s|r|r|d |kr||q|r|q|}||}|r|||}|p|S) Nr-rNrXrrrr|) r7r8r.r/r:r appendpopr ) r1r#emptydotdotdotinitial_slashescomps new_compscompr2r2r3rNsJ            rcCs@t|}t|s8t|tr&t}nt}t||}t|Sr5) r7r8rr.r/getcwdbgetcwdr r)r1cwdr2r2r3rus    rcCs*t|}t|dd|i\}}t|SrP)r7r8 _joinrealpathr)filenamer1okr2r2r3r)s r)c Cst|trd}d}d}n d}d}d}t|r<|dd}|}|r||\}}}|r<||kr`q<||kr|rt|\}}||krt|||}q<|}qrzrelpath..cSsg|] }|r|qSr2r2rr2r2r3rrr+)rSr7r8r.r/rr rIrr r=r>r?DeprecationWarningr@rA) r1rr!r#r" start_list path_listrKrel_listr2r2r3r+s0    r+c s2|s tdtttj|}t|dtr4ddnddzćfdd|D}ztfd d |D\}Wntytd dYn0fd d|D}t|}t |}|}t |D]$\}}|||kr|d|}qq|rn dd}| |WSt t fy,tjd g|RYn0dS)Nz%commonpath() arg is an empty sequencerr-rNrrcsg|]}|qSr2)r )rr1r#r2r3rrzcommonpath..c3s|]}|ddkVqdSrEr2)rrCrr2r3 rzcommonpath..z%Can't mix absolute and relative pathscsg|]}fdd|DqS)csg|]}|r|kr|qSr2r2)rcr!r2r3rrz)commonpath...r2)rr9rr2r3rrr,)rStupler;r7r8r.r/setminmax enumerater r=r>r@rA) paths split_pathsrr[r]commonrKrprefixr2)r!r#r3r,s6   r,)N)'r!r"r'r#r$r%r&r(r7sysrTr@__all__r4rrr r r rO__doc__r r rrrrrrr}rrrr)rplatformr*r+r,r2r2r2r3sJ        *25' 3  )