B @I @sddlZddlZdddddddd d d d g Zd dZdd ZddZddZddZddZddZ ddZ dd Z dd Z dd Z ddZddZdS)N commonprefixexistsgetatimegetctimegetmtimegetsizeisdirisfilesamefile sameopenfilesamestatcCs(yt|Wntk r"dSXdS)NFT)osstatOSError)pathr./opt/alt/python37/lib/python3.7/genericpath.pyrs cCs0yt|}Wntk r"dSXt|jS)NF)r rrS_ISREGst_mode)rstrrrr s cCs0yt|}Wntk r"dSXt|jS)NF)r rrS_ISDIRr)srrrrr's cCs t|jS)N)r rst_size)filenamerrrr0scCs t|jS)N)r rst_mtime)rrrrr5scCs t|jS)N)r rst_atime)rrrrr:scCs t|jS)N)r rst_ctime)rrrrr?scCsl|sdSt|dttfs*tttj|}t|}t|}x,t|D] \}}|||krD|d|SqDW|S)Nr) isinstancelisttuplemapr fspathminmax enumerate)ms1s2icrrrrEs cCs|j|jko|j|jkS)N)st_inost_dev)r'r(rrrr Ws cCst|}t|}t||S)N)r rr )f1f2r'r(rrrr ^s  cCst|}t|}t||S)N)r fstatr )fp1fp2r'r(rrrr ks  cCs||}|r"||}t||}||}||kr~|d}x@||kr||||d|krr|d|||dfS|d7}q>W||ddfS)Nr)rfindr$)psepaltsepextsepsepIndex altsepIndexdotIndex filenameIndexrrr _splitextys      r<cGsbd}}xB|D]:}t|tr"d}qt|tr2d}qtd||jjfdqW|r^|r^tdddS)NFTz*%s() argument must be str or bytes, not %rz.Can't mix strings and bytes in path components)rstrbytes TypeError __class____name__)funcnameargshasstrhasbytesrrrr_check_arg_typess   rF)r r__all__rr rrrrrrr r r r<rFrrrrs"