¯t v d Z dZdZdZdZdZdZdZdZdd l Z dd l Z dd lZdd lZdd lT g dZ d Z dd lmZmZmZ d Zn# e$ r d ZY nw xY wd Zd Zd Zd Zd Zej j e_ d Zd Zd Z d Z! ddl"m#Z# n # e$ r d Z#Y nw xY wd Z$d Z%dZ&d a'd a(d Z) ddl"m*Z* d Z+n# e$ r d Z+Y nw xY wd! Z, dd"l"m-Z- d# Z.n # e$ r e,Z.Y nw xY w dd$l"m/Z/m0Z1 e2fd%Z3e2fd&Z4d'd(d)Z5n# e$ r d'd(d*Z5Y nw xY w e6e d+ o e j7 d, d-k Z8d1d.Z9d/ Z: dd0l"m;Z< d S # e$ r Y d S w xY w)2zCommon pathname manipulations, WindowsNT/95 version. Instead of importing this module directly, import os and refer to this module as os.path. ...\;/z.;C:\binnul N)*)'normcaseisabsjoin splitdrivesplitsplitextbasenamedirnamecommonprefixgetsizegetmtimegetatimegetctimeislinkexistslexistsisdirisfileismount expanduser expandvarsnormpathabspathcurdirpardirseppathsepdefpathaltsepextsepdevnullrealpathsupports_unicode_filenamesrelpathsamefilesameopenfilesamestat commonpath ALLOW_MISSINGc 4 t | t rdS dS )N \/\/) isinstancebytespaths -/opt/alt/python311/lib64/python3.11/ntpath.py _get_bothsepsr9 $ s $ vu ) LCMapStringExLOCALE_NAME_INVARIANTLCMAP_LOWERCASEc t j | } | s| S t | t rnt j }| |d dd } t t t | } | |d S t t t | dd S )nNormalize case of pathname. Makes all characters lowercase and all slashes into backslashes. surrogateescaper r )osfspathr4 r5 sysgetfilesystemencodingdecodereplace_LCMapStringEx_LOCALE_NAME_INVARIANT_LCMAP_LOWERCASEencode)sencodings r8 r r 4 s IaLL Ha 8022H#455==c4HHA5/4 4A88H&7888!"8"2"#))C"6"68 8 8r: c < t j | } t | t rLt j t j | dd S | dd S )r? r r )rA rB r4 r5 fsencodefsdecoderF lower)rK s r8 r r G sx IaLLa J;r{1~~55c4@@FFHHIIIyyd##))+++r: c t j | } t | t rd}d}d}nd}d}d}| dd || } | | s| |d rd S dS )zTest whether a path is absolute \ /s :\r r z:\N TF)rA rB r4 r5 rF startswith)rK r# r&