grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/20263 Õì2aœ=ã&@sZdZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z ddl Td d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.g&Z d/d0„Z d1d „Zd2d „Zd3d „Zd4d „Zd5d„Ze jje_d6d „Zd7d„Zd8d„Zd9d„Zd:d„Zd;d„Zdd„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/python36/lib64/python3.6/posixpath.pyÚ_get_sep)s r2cCs.tj|ƒ}t|ttfƒs*tdj|jjƒƒ‚|S)Nz2normcase() argument must be str or bytes, not '{}') ÚosÚfspathr-r.ÚstrÚ TypeErrorÚformatÚ __class__Ú__name__)Úsr0r0r1r4s   cCstj|ƒ}t|ƒ}|j|ƒS)N)r3r4r2Ú startswith)r:r"r0r0r1r@s c Gs®tj|ƒ}t|ƒ}|}yd|s,|dd…|xJttj|ƒD]:}|j|ƒrN|}q:| s^|j|ƒrh||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`tj|ƒ}t|ƒ}|j|ƒd}|d|…||d…}}|rX||t|ƒkrX|j|ƒ}||fS)Né)r3r4r2ÚrfindÚlenÚrstrip)rCr"ÚiÚheadÚtailr0r0r1r hs  cCs6tj|ƒ}t|tƒrd}d}nd}d}tj||d|ƒS)Nr,ó.rr)r3r4r-r.r@Ú _splitext)rCr"r&r0r0r1r ys  cCstj|ƒ}|dd…|fS)Nr)r3r4)rCr0r0r1r ‡s cCs,tj|ƒ}t|ƒ}|j|ƒd}||d…S)NrE)r3r4r2rF)rCr"rIr0r0r1r �s cCsNtj|ƒ}t|ƒ}|j|ƒd}|d|…}|rJ||t|ƒkrJ|j|ƒ}|S)NrE)r3r4r2rFrGrH)rCr"rIrJr0r0r1r šs   c Cs4ytj|ƒ}Wnttfk r&dSXtj|jƒS)NF)r3ÚlstatÚOSErrorr>ÚstatÚS_ISLNKÚst_mode)r/Ústr0r0r1r¨s c Cs(ytj|ƒWntk r"dSXdS)NFT)r3rNrO)r/r0r0r1r²s cCs´ytj|ƒ}Wntk r"dSXtj|jƒr4dSt|tƒrJt|dƒ}n t|dƒ}t |ƒ}ytj|ƒ}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 Cs4tj|ƒ}t|tƒrd}nd}|j|ƒs,|St|ƒ}|j|dƒ}|dkrPt|ƒ}|dkr¢dtjkr–ddl }y|j tj ƒƒj }Wq t k r’|SXqôtjd}nRddl }|d|…}t|tƒrÊt|dƒ}y|j|ƒ}Wnt k rì|SX|j }t|tƒ�rtj|ƒ}d}nd}|j|ƒ}|||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            c Cs\tj|ƒ}t|tƒrVd|kr |Sts:ddl}|jd|jƒatj}d}d}t tddƒ}n:d|krb|St s|ddl}|jd|jƒa t j}d }d }tj }d}xÂ|||ƒ}|s¦P|j dƒ\}}|j d ƒ} | j|ƒrÞ| j|ƒrÞ| d d …} y.|dk�rtjtj tj| ƒƒ} 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þtj|ƒ}t|tƒr&d}d}d}d}nd}d}d}d}||krB|S|j|ƒ}|rr|j|d ƒrr|j|d ƒ rrd }|j|ƒ}g}xV|D]N}|||fkr˜q†||ks¼| r¬| s¼|rÈ|d |krÈ|j|ƒq†|r†|jƒq†W|}|j|ƒ}|rö|||}|pü|S) Nr,órLs..rÚrz..éérErv) r3r4r-r.r;r ÚappendÚpopr) r/r"ÚemptyÚdotÚdotdotÚinitial_slashesÚcompsÚ new_compsÚcompr0r0r1rRs>          cCs@tj|ƒ}t|ƒs8t|tƒr&tjƒ}ntjƒ}t||ƒ}t|ƒS)N) r3r4rr-r.ÚgetcwdbÚgetcwdrr)r/Úcwdr0r0r1rxs    cCs*tj|ƒ}t|dd…|iƒ\}}t|ƒS)Nr)r3r4Ú _joinrealpathr)Úfilenamer/Úokr0r0r1r(‡s c Cst|tƒrd}d}d}n d}d}d}t|ƒr<|dd…}|}xØ|�r|j|ƒ\}}}| s>||krdq>||kr˜|r’t|ƒ\}}||kr–t|||ƒ}q>|}q>t||ƒ}t|ƒs°|}q>||krØ||}|dk rÊq>t||ƒdfSd||<t|tj |ƒ|ƒ\}} | �s t||ƒ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ò|s tdƒ‚tj|ƒ}t|tƒr.d}d}d}n d}d}d}|dkrH|}n tj|ƒ}yndd „t|ƒj|ƒDƒ}d d „t|ƒj|ƒDƒ}tt||gƒƒ}|gt|ƒ|||d…}|sº|St |ŽSt t t t fk rìtjd ||ƒ‚YnXdS) Nzno path specifiedrLr,s..rrz..cSsg|] }|r|‘qSr0r0)Ú.0Úxr0r0r1ú Ûszrelpath..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|s tdƒ‚tttj|ƒƒ}t|dtƒr4d‰d‰nd‰d‰yƇfdd„|Dƒ}yt‡fd d „|Dƒƒ\}Wntk rŠtd ƒd‚YnX‡fd d„|Dƒ}t|ƒ}t |ƒ}|}x.t |ƒD]"\}}|||kr¼|d|…}Pq¼W|rêˆn ˆdd…}|ˆj |ƒSt t fk �r,tjd|žŽ‚YnXdS)Nz%commonpath() arg is an empty sequencerr,rLrrcsg|]}|jˆƒ‘qSr0)r )rŸr/)r"r0r1r¡ýszcommonpath..c3s|]}|dd…ˆkVqdS)NrEr0)rŸrC)r"r0r1ú szcommonpath..z%Can't mix absolute and relative pathscsg|]}‡fdd„|Dƒ‘qS)csg|]}|r|ˆkr|‘qSr0r0)rŸÚc)r r0r1r¡sz)commonpath...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 r rMÚ__doc__r r r rrrrr|rwrrrr(r•Úplatformr)r*r+r0r0r0r1ÚsX           *25& 3  )