a i~@sddlZddlZgdZddZddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZejGdddZdS)N) commonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfilesamefile sameopenfilesamestat ALLOW_MISSINGc Cs,zt|Wnttfy&YdS0dS)NFT)osstatOSError ValueError)pathr#/usr/lib64/python3.9/genericpath.pyrs rc Cs4zt|}Wnttfy&YdS0t|jSNF)rrrrS_ISREGst_mode)rstrrrr s r c Cs4zt|}Wnttfy&YdS0t|jSr)rrrrS_ISDIRr)srrrrr's rcCs t|jSN)rrst_sizefilenamerrrr0srcCs t|jSr)rrst_mtimerrrrr5srcCs t|jSr)rrst_atimerrrrr:srcCs t|jSr)rrst_ctimerrrrr?srcCsl|sdSt|dttfs*tttj|}t|}t|}t|D]$\}}|||krB|d|SqB|S)Nr) isinstancelisttuplemaprfspathminmax enumerate)ms1s2icrrrrEs rcCs|j|jko|j|jkSr)st_inost_dev)r,r-rrrr Ws  r cCst|}t|}t||Sr)rrr )f1f2r,r-rrrr ^s  r cCst|}t|}t||Sr)rfstatr )fp1fp2r,r-rrrr ks  r cCs||}|r"||}t||}||}||krz|d}||krz|||d|krp|d|||dfS|d7}q<||ddfS)Nr)rfindr))psepaltsepextsepsepIndex altsepIndexdotIndex filenameIndexrrr _splitextys     rAcGs`d}}|D]<}t|tr d}q t|tr0d}q t|d|jjdq |r\|r\tdddS)NFTz;() argument must be str, bytes, or os.PathLike object, not z.Can't mix strings and bytes in path components)r#strbytes TypeError __class____name__)funcnameargshasstrhasbytesrrrr_check_arg_typess  rKc@seZdZddZddZdS)r cCsdS)Nzos.path.ALLOW_MISSINGrselfrrr__repr__szALLOW_MISSING.__repr__cCs|jjSr)rErFrLrrr __reduce__szALLOW_MISSING.__reduce__N)rF __module__ __qualname__rNrOrrrrr sr )rr__all__rr rrrrrrr r r rArKobject__new__r rrrrs"