grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|jxmã@s& dZdZdZdZdZdZdZdZddlZddl Z ddl Z ddl Z dd l Tgd ¢Z d d „Z zdd lmZmZmZdd„ZWn eyJdd„ZYnwdd„Zdd„Zdd„Zdd„Zdd„Ze jje_dd„Zdd„Zdd „Z d!d"„Z!zdd#l"m#Z#Wn ey‡dZ#Ynwd$d%„Z$d&d'„Z%d(Z&da'da(d)d*„Z)d+d,„Z*d-d.„Z+zdd/l"m,Z,Wn eyµe+Z-Ynwd0d1„Z-z dd2l"m.Z.m/Z0WneyÔd3d4œd5d6„Z1Ynwe2fd7d8„Z3e2fd9d:„Z4d3d4œd;d6„Z1e5e d<ƒoôe  6¡d=d>kZ7dDd?d@„Z8dAdB„Z9z ddCl"m:Z;WdSe�yYdSw)EÚ.ú..ú\ú;ú/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Ú commonpathÚ ALLOW_MISSINGcCst|tƒrdSdS)Nó\/ú\/)Ú isinstanceÚbytes©Úpath©r5ú-/opt/alt/python310/lib64/python3.10/ntpath.pyÚ _get_bothseps$s r7)Ú LCMapStringExÚLOCALE_NAME_INVARIANTÚLCMAP_LOWERCASEcCsf t |¡}|s |St|tƒr)t ¡}| |d¡ dd¡}tt t |ƒ}|  |d¡Stt t | dd¡ƒS)NÚsurrogateescaperr) ÚosÚfspathr1r2ÚsysÚgetfilesystemencodingÚdecodeÚreplaceÚ_LCMapStringExÚ_LOCALE_NAME_INVARIANTÚ_LCMAP_LOWERCASEÚencode)ÚsÚencodingr5r5r6r4s  ÿ  þrcCsB t |¡}t|tƒrt t |¡ dd¡ ¡¡S| dd¡ ¡S)Nrr)r<r=r1r2ÚfsencodeÚfsdecoderAÚlower©rFr5r5r6rGs   cCsl t |¡}t|tƒr| dd¡ d¡rdSn | dd¡ d¡r"dSt|ƒd}t|ƒd ko5|d t|ƒvS) Nó/ó\ó\\?\Trrú\\?\ér) r<r=r1r2rAÚ startswithr Úlenr7rKr5r5r6r Xs  ÿ 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 j d |g|¢RŽ‚w) NrMr/ó:rr0ú:réÿÿÿÿr ) r<r=r1r2r ÚmaprJÚ TypeErrorÚAttributeErrorÚ BytesWarningÚ genericpathÚ_check_arg_types) r4Úpathsr!ÚsepsÚcolonZ result_driveZ result_pathÚpZp_driveZp_pathr5r5r6r hsL      ÿ þr cCs t |¡}t|ƒdkr†t|tƒrd}d}d}nd}d}d}| ||¡}|dd…|dkrr|dd …|krr| |d¡}|d krH|dd…|fS| ||d ¡}||d kr^|dd…|fS|d krft|ƒ}|d|…||d…fS|d d…|kr†|dd…|dd…fS|dd…|fS) NérMrLrSrrrTrérUrP)r<r=rRr1r2rAÚfind)r_r!r$r^ZnormpÚindexZindex2r5r5r6r —s0    $  r cCsŒ t |¡}t|ƒ}t|ƒ\}}t|ƒ}|r,||d|vr,|d8}|r,||d|vs|d|…||d…}}| |¡p?|}|||fS©NrP)r<r=r7r rRÚrstrip)r_r]ÚdÚiÚheadÚtailr5r5r6r Ïs  ÿ r cCs4t |¡}t|tƒrt |ddd¡St |ddd¡S)NrMrLó.rrr)r<r=r1r2rZÚ _splitext©r_r5r5r6r æs  r cCó t|ƒdSrd©r rlr5r5r6rñó rcCrm)Nrrnrlr5r5r6rørorc Cs8 zt |¡}Wn tttfyYdSwt |j¡S)NF)r<ÚlstatÚOSErrorÚ ValueErrorrXÚstatÚS_ISLNKÚst_mode©r4Ústr5r5r6rÿsÿ rc Cs, zt |¡}WdSttfyYdSw)NFT)r<rprqrrrvr5r5r6r s þÿr)Ú_getvolumepathnamecCsr t |¡}t|ƒ}t|ƒ}t|ƒ\}}|r#|d|vr#| p"||vS||vr)dStr7| |¡t|ƒ |¡kSdS)NrTF)r<r=r7rr rxre)r4r]ÚrootÚrestr5r5r6r!s  rcCsL t |¡}t|tƒrd}nd}| |¡s|Sdt|ƒ}}||kr:||t|ƒvr:|d7}||kr:||t|ƒvs*dtjvrEtjd}n"dtjvrL|Sztjd}Wn ty^d}Ynwt |tjdƒ}|dkr”|d|…}t|tƒr{t  |¡}tj  d¡}||kr”|t |ƒkr�|St t |ƒ|ƒ}t|tƒržt |¡}|||d…S) Nó~ú~rPZ USERPROFILEZHOMEPATHZ HOMEDRIVEÚZUSERNAME)r<r=r1r2rQrRr7ÚenvironÚKeyErrorr rIÚgetrrrH)r4ÚtildergÚnÚuserhomeÚdriveZ target_userZ current_userr5r5r6r<sB   ÿ    ÿ       rz.'[^']*'?|%(%|[^%]*%?)|\$(\$|[-\w]+|\{[^}]*\}?)csÔ t |¡}t|tƒr6d|vrd|vr|Sts%ddl}| t ¡|j ¡j at}d‰d‰d‰d‰t tddƒ‰n%d|vr@d|vr@|St sNddl}| t|j ¡j a t }d‰d ‰d ‰d‰tj ‰‡‡‡‡‡fd d „}|||ƒS) Nó$ó%ró{ó}Úenvironbú$ú%Ú{Ú}csÌ|j}|dur |dS||}|dkr)|ˆkr|S| ˆ¡s"|dS|dd…}n|ˆkr/|S| ˆ¡rC| ˆ¡s=|dS|dd…}zˆdurTt tjt |¡¡WSˆ|WStye|dYSw)NrrPrU)Ú lastindexÚendswithrQr<rHr~rIr)ÚmrŽÚname©ZbraceZdollarr~ZpercentZrbracer5r6Úreplœs.       ÿzexpandvars..repl)r<r=r1r2Ú_varsubbÚreÚcompileÚ _varpatternrEÚASCIIÚsubÚgetattrÚ_varsubr~)r4r•r™r“r5r’r6r}s6   rc 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Ž|d kr|||d |kr|||d |d …=|d 8}n|d kr‰|  |¡r‰||=n |d 7}n|d 7}|t |ƒksN|s¡|s¡|  |¡||  |¡S) NrMrLrjó..)s\\.\rNrrrr)z\\.\rOrrP) r<r=r1r2rQrAr Úlstripr rRr�Úappendr ) r4r!r$rr Zspecial_prefixesÚprefixÚcompsrgr5r5r6r¾sJ             ô rcCsB t |¡}t|ƒst|tƒrt ¡}nt ¡}t||ƒ}t|ƒS©N) r<r=r r1r2ÚgetcwdbÚgetcwdr r)r4Úcwdr5r5r6Ú_abspath_fallbackðs    r¥)Ú_getfullpathnamec Cs0 ztt|ƒƒWSttfyt|ƒYSwr¡)rr¦rqrrr¥r3r5r5r6rs  ÿr)Ú_getfinalpathnameÚreadlinkF)ÚstrictcCst|ƒSr¡)r)r4r©r5r5r6r'sr'c Cs¶d}tƒ}t|ƒ|vrY| t|ƒ¡z|}t|ƒ}t|ƒs/t|ƒs&|}W|Sttt|ƒ|ƒƒ}Wn"|yI}z |j |vrDWYd}~|S‚d}~wt yRY|Swt|ƒ|vs |S)N) rPr`raééé é2éCéWi&i(i)) ÚsetrÚaddÚ _nt_readlinkr rrr rÚwinerrorrr)r4Ú ignored_errorÚallowed_winerrorÚseenZold_pathÚexr5r5r6Ú_readlink_deeps4  ø€  ü€ ý ír¸c Csêd}d}|rszt|ƒ}|rt||ƒWS|WS|yp}zO|j|vr#‚zt||d�}||kr>|r5t||ƒn|WWYd}~SWn |yHYnwt|ƒ\}}|r]|s]||WYd}~S|rdt||ƒn|}WYd}~nd}~ww|s|S)N)rPr`rarªr«r¬r­é5éAr®r¯é{é¡i€i�r}©r´)r§r r³r¸r )r4r´rµrir·Únew_pathr‘r5r5r6Ú_getfinalpathname_nonstrict@s6 ÿ ÿ þ €ìür¿c Cs”t|ƒ}t|tƒr!d}d}d}t ¡}t|ƒtt t¡ƒkr dSnd}d}d}t ¡}t|ƒttƒkr5dS|  |¡}|t urCt }d }n|rHd }nt }|sUt |ƒsUt||ƒ}zt|ƒ}d }Wn|yx} z| j}t||d �}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) NrNs\\?\UNC\s\\s\\.\NULrOz\\?\UNC\z\\z\\.\NULTr5rr½)rr1r2r<r¢rrHr&r£rQr.ÚFileNotFoundErrorrqr r r§r³r¿rR) r4r©rŸZ unc_prefixZnew_unc_prefixr¤Z had_prefixr´Zinitial_winerrorr·Zspathr5r5r6r'rsj ÿ   ÿ€þ  ùû  þ€ûÚgetwindowsversionrar`c CsZ t |¡}t|tƒrd}d}d}nd}d}d}|dur|}|s$tdƒ‚t |¡}zott|ƒƒ}tt|ƒƒ}t|ƒ\}}t|ƒ\} } t|ƒt| ƒkrRtd| |fƒ‚d d „|  |¡Dƒ} d d „|   |¡Dƒ} d } t | | ƒD]\}}t|ƒt|ƒkr{n| d 7} qm|gt | ƒ| | | d…}|s”|WSt |ŽWSt ttttfy¬t d||¡‚w)NrMrjrœrrrzno path specifiedz&path is on mount %r, start on mount %rcSóg|]}|r|‘qSr5r5©Ú.0Úxr5r5r6Ú Íózrelpath..cSrÂr5r5rÃr5r5r6rÆÎrÇrrPr))r<r=r1r2rrrrr rr ÚziprRr rWrXrYÚDeprecationWarningrZr[)r4Ústartr!rr Z start_absZpath_absZ start_driveZ start_restZ path_driveZ path_restÚ start_listÚ path_listrgZe1Ze2Úrel_listr5r5r6r)±sL       ÿ  þr)c s  |stdƒ‚tttj|ƒƒ}t|dtƒrd‰d‰d‰nd‰d‰d‰z™‡‡fd d „|Dƒ}‡fd d „|Dƒ}zt‡fd d „|Dƒƒ\}Wn tyQtdƒ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 sequencerrMrLrjrrrcs g|] }t| ˆˆ¡ ¡ƒ‘qSr5)r rArJ)rÄr_)r$r!r5r6rÆús zcommonpath..csg|] \}}| ˆ¡‘qSr5rn©rÄrfr_©r!r5r6rÆûsc3s$�|] \}}|dd…ˆkVqdSrdr5rÎrÏr5r6Ú þs€"zcommonpath..z%Can't mix absolute and relative pathscss�|]\}}|VqdSr¡r5rÎr5r5r6rÐs€rPzPaths don't have the same drivecóg|] }|r|ˆkr|‘qSr5r5©rÄÚc©rr5r6rÆ ócsg|] }‡fdd„|Dƒ‘qS)crÑr5r5rÒrÔr5r6rÆ rÕz)commonpath...r5)rÄrFrÔr5r6rÆ sr-)rrÚtuplerVr<r=r1r2r°rRr rAr ÚminÚmaxÚ enumerater rWrXrZr[) r\Z drivesplitsÚ split_pathsr r„r4ÚcommonÚs1Ús2rgrÓrŸr5)r$rr!r6r-ésN  ÿ   þþr-)Ú_isdirr¡)rsrZÚ__all__r7Z_winapir8rBr9rCr:rDrÚ ImportErrorr r r r r rkÚ__doc__rrrrÚntrxrrr—r›r”rrr¥r¦rr§r¨r²r'rqr¸r¿ÚhasattrrÁr(r)r-rÞrr5r5r5r6ÚsŠ      ÿ/8   ÿ=A2 ÿ þ  *2 <ÿ 84þ