B %h\ʜk@sjddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z m Z mZmZddlmZddlmZmZmZmZmZmZmZddlmZdZejdkrddlZe dd d krdd lm!Z!qd ZdZ!ndZd dddddgZ"e e eefZ#dZ$ddZ%ddZ&Gddde'Z(Gddde(Z)Gddde(Z*e)Z+e*Z,GdddZ-Gd d!d!e-Z.e.Z/d"d#Z0e1ed$re2e0Z0Gd%d&d&Z3Gd'd(d(Z4Gd)d*d*e3Z5Gd+d,d,e3Z6Gd-d.d.e3Z7Gd/d0d0e Z8Gd1d d e'Z9ej:;e9Gd2dde9ZGd5dde>e<Z?Gd6dde>e=Z@dS)7N)Sequence)EINVALENOENTENOTDIREBADFELOOP) attrgetter)S_ISDIRS_ISLNKS_ISREGS_ISSOCKS_ISBLKS_ISCHRS_ISFIFO)quote_from_bytesTnt)r)_getfinalpathnameFPurePath PurePosixPathPureWindowsPathPath PosixPath WindowsPath)icCs t|ddtkpt|ddtkS)NerrnoZwinerror)getattr_IGNORED_ERROS_IGNORED_WINERRORS)Z exceptionr */opt/alt/python37/lib/python3.7/pathlib.py _ignore_error-sr"cCsd|kpd|kpd|kS)N*?[r )patr r r!_is_wildcard_pattern2sr'c@s$eZdZddZddZddZdS)_FlavourcCs|jj|_dS)N)sepjoin)selfr r r!__init__<sz_Flavour.__init__c Csg}|j}|j}d}}t|}x|D]}|s0q&|r@|||}||\}}} || krxPt| |D] } | rh| dkrh|t| qhWn| r| dkr|t| |s|r&|sx6|D].}|sq|r|||}||d}|rPqWPq&W|s|r |||| |||fS)N.r) r)altsepreversedreplace splitrootsplitappendsysinternreverse) r+partsZparsedr)r/drvrootitpartZrelxr r r! parse_parts?s@       z_Flavour.parse_partscCsz|r*|sp|rp||||g|ddfSnF|rb||ksJ||||krp||||ddfSn||||fS|||fS)N)casefold)r+r9r:r8Zdrv2Zroot2Zparts2r r r!join_parsed_partsesz_Flavour.join_parsed_partsN)__name__ __module__ __qualname__r,r>rAr r r r!r(8s&r(c@seZdZdZdZdZeZej dkZ e dZ dZ ddd d hd d ed dDBdd ed dDBZefddZddZddZddZd&ddZe fddZddZdd Zd!d"Zd#d$Zd%S)'_WindowsFlavour\/TrZ4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz\\?\ZCONZPRNZAUXZNULcCsh|] }d|qS)zCOM%dr ).0ir r r! sz_WindowsFlavour.r? cCsh|] }d|qS)zLPT%dr )rHrIr r r!rJsc Cs\|dd}|dd}||krP||krP||\}}|dd}|dd}nd}|dd}||kr||kr||kr||d}|dkr|||d}||dkr|dkrt|}|r||d||||ddfS|d||||ddfSd} } |dkr6||jkr6|dd} |dd}|}||krN|} ||}|| | |fS)Nrr?rr-:)_split_extended_pathfindlen drive_letterslstrip) r+r<r)firstsecondprefixZthirdindexZindex2r9r:r r r!r2s6      "    z_WindowsFlavour.splitrootcCs|S)N)lower)r+sr r r!r@sz_WindowsFlavour.casefoldcCsdd|DS)NcSsg|] }|qSr )rX)rHpr r r! sz2_WindowsFlavour.casefold_parts..r )r+r8r r r!casefold_partssz_WindowsFlavour.casefold_partscCstt|tjjS)N)recompilefnmatch translate IGNORECASE fullmatch)r+patternr r r!compile_patternsz_WindowsFlavour.compile_patternFcCst|}|stSd}tdk r|r2|t|Sg}xly|t|}Wn>tk r|}tj|\}}||||kr|SYq8Xtjj |ft |Sq8WdS)N) strosgetcwdr_ext_to_normalFileNotFoundErrorpathr3r4r*r0)r+rjstrictrYZ previous_sZ tail_partstailr r r!resolves&  z_WindowsFlavour.resolvecCsXd}||rP|dd}|dd}|drP||dd7}d|dd}||fS)Nr-zUNC\rLrF) startswith)r+rYZ ext_prefixrVr r r!rOs    z$_WindowsFlavour._split_extended_pathcCs||dS)Nr?)rO)r+rYr r r!rhsz_WindowsFlavour._ext_to_normalcCs6|sdS|ddrdS|ddd|jkS)NFrz\\rMr.)ro partitionupperreserved_names)r+r8r r r! is_reserveds z_WindowsFlavour.is_reservedcCsd|j}t|dkrJ|ddkrJ|ddd}d|t|dfSdt|dSdS)Nrr?rNrGz file:///%s/%szutf-8zfile:)driverQas_posixrSurlquote_from_bytesencode)r+rjrtrestr r r!make_uris z_WindowsFlavour.make_uricCsdtjkrtjd}n`dtjkr,tjd}nJdtjkrnytjd}Wntk r\d}YnX|tjd}ntd|rtjd|kr||f\}}}|dtjdkrtd |||d<|s|r||||d d}n ||}|S) NHOMEZ USERPROFILEZHOMEPATHZ HOMEDRIVEr-zCan't determine home directoryZUSERNAMErMz%Can't determine home directory for %rr?)rfenvironKeyError RuntimeErrorr>r*)r+usernameuserhomer9r:r8r r r! gethomedirs,       z_WindowsFlavour.gethomedirN)F)rBrCrDr)r/has_drvntpathpathmodrfname is_supportedsetrRZext_namespace_prefixrangerrr2r@r\rdrmrOrhrsryrr r r r!rEws&  '    rEc@sleZdZdZdZdZeZej dkZ efddZ ddZ d d Z d d Zdd dZddZddZddZdS) _PosixFlavourrGr-FrcCsV|rH|d|krH||}t|t|dkr._resolver-)r) _accessor is_absoluterfrgre)r+rjrkbaser )rrrr)rkr!rm>s &z_PosixFlavour.resolvecCsdS)NFr )r+r8r r r!rsksz_PosixFlavour.is_reservedcCst|}dt|S)Nzfile://)bytesrv)r+rjZbpathr r r!rynsz_PosixFlavour.make_uricCst|s:y tjdStk r6ddl}|tjSXn6ddl}y ||jStk rntd|YnXdS)Nrzrz%Can't determine home directory for %r) rfr{r|pwdgetpwuidgetuidpw_dirgetpwnamr})r+r~rr r r!rts  z_PosixFlavour.gethomedirN)F)rBrCrDr)r/r posixpathrrfrrr2r@r\rdrmrsryrr r r r!rs   -rc@s eZdZdS) _AccessorN)rBrCrDr r r r!rsrc@seZdZejZejZejZejZejZej Z e edr>ej Z nddZ ej Z ej Z ejZejZejZer~ertejZqddZn eddZejZddZd S) _NormalAccessorlchmodcCs tddS)Nz%lchmod() not available on this system)NotImplementedError)r+Zpathobjmoder r r!rsz_NormalAccessor.lchmodcCs tddS)Nz&symlink() not available on this system)r)abtarget_is_directoryr r r!symlinksz_NormalAccessor.symlinkcCs t||S)N)rfr)rrrr r r!rscCs t|S)N)rfr)r+rjr r r!rsz_NormalAccessor.readlinkN)rBrCrDrfstatlstatopenlistdirscandirchmodhasattrrmkdirunlinkrmdirrenamer1rsupports_symlinksr staticmethodutimerr r r r!rs*   rcCsR|d}|dd}|dkr"t}n$d|kr4tdnt|rBt}nt}||||S)Nrr?z**z:Invalid pattern: '**' can only be an entire path component)_RecursiveWildcardSelector ValueErrorr'_WildcardSelector_PreciseSelector) pattern_partsflavourr& child_partsclsr r r!_make_selectors  r lru_cachec@seZdZddZddZdS) _SelectorcCs0||_|rt|||_d|_nt|_d|_dS)NTF)rr successordironly_TerminatingSelector)r+rrr r r!r,s  z_Selector.__init__cCs<t|}|j}|j}|jj}||s,tgS|||||S)N)typeis_direxistsrriter _select_from)r+ parent_pathZpath_clsrrrr r r! select_fromsz_Selector.select_fromN)rBrCrDr,rr r r r!rs rc@seZdZddZdS)rccs |VdS)Nr )r+rrrrr r r!rsz!_TerminatingSelector._select_fromN)rBrCrDrr r r r!rsrc@seZdZddZddZdS)rcCs||_t|||dS)N)rrr,)r+rrrr r r!r,sz_PreciseSelector.__init__ccs^yD||j}|jr|n||rBx |j||||D] }|Vq4WWntk rXdSXdS)N)_make_child_relpathrrrrPermissionError)r+rrrrrjrZr r r!rs z_PreciseSelector._select_fromN)rBrCrDr,rr r r r!rsrc@seZdZddZddZdS)rcCs|||_t|||dS)N)rdmatchrr,)r+r&rrr r r!r,s z_WildcardSelector.__init__c csy||}t|}WdQRXx|D]}|jrly|s:w$Wn.tk rj}zt|sXw$Wdd}~XYnX|j} || r$|| } x |j | |||D] } | VqWq$WWnt k rdSXdS)N) listrrrr"rrrrrr) r+rrrr scandir_itentriesentryrrrjrZr r r!r s&    z_WildcardSelector._select_fromN)rBrCrDr,rr r r r!rsrc@s$eZdZddZddZddZdS)rcCst|||dS)N)rr,)r+r&rrr r r!r,&sz#_RecursiveWildcardSelector.__init__c cs|Vy||}t|}WdQRXx|D]x}d}y |}Wn,tk rj}zt|sZWdd}~XYnX|r*|s*||j} x|| ||D] } | VqWq*WWntk rdSXdS)NF) rrrr" is_symlinkrr_iterate_directoriesr) r+rrrrrrZ entry_is_dirrrjrZr r r!r)s"     z/_RecursiveWildcardSelector._iterate_directoriesc csyjt}zT|jj}xF||||D]4}x.|||||D]}||kr6|V||q6Wq"WWd|XWntk r~dSXdS)N)rrrraddclearr) r+rrrrZyieldedZsuccessor_selectZstarting_pointrZr r r!r<sz'_RecursiveWildcardSelector._select_fromN)rBrCrDr,rrr r r r!r$src@s0eZdZdZddZddZddZdd Zd S) _PathParents)_pathcls_drv_root_partscCs&t||_|j|_|j|_|j|_dS)N)rrrrr)r+rjr r r!r,Us z_PathParents.__init__cCs(|js |jrt|jdSt|jSdS)Nr?)rrrQr)r+r r r!__len__\s z_PathParents.__len__cCs@|dks|t|krt||j|j|j|jd| dS)Nrr?)rQ IndexErrorr_from_parsed_partsrrr)r+idxr r r! __getitem__bsz_PathParents.__getitem__cCsd|jjS)Nz <{}.parents>)formatrrB)r+r r r!__repr__hsz_PathParents.__repr__N)rBrCrD __slots__r,rrrr r r r!rPs rc@seZdZdZddZddZeddZedUd d ZedVd d Z ed dZ ddZ ddZ ddZ ddZddZddZddZddZedd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zeed-d.d/Zeed0d1d/Zed2d3Zed4d5Zed6d7Z ed8d9Z!ed:d;Z"dd?Z$d@dAZ%edBdCZ&dDdEZ'dFdGZ(dHdIZ)edJdKZ*edLdMZ+dNdOZ,dPdQZ-dRdSZ.dTS)Wr)rrr_str_hash_pparts_cached_cpartscGs$|tkrtjdkrtnt}||S)Nr)rrfrrr _from_parts)rargsr r r!__new__zszPurePath.__new__cCs|jt|jfS)N) __class__tupler)r+r r r! __reduce__szPurePath.__reduce__cCshg}xV|D]N}t|tr$||j7}q t|}t|trH|t|q tdt|q W|j |S)NzNargument should be a str object or an os.PathLike object returning str, not %r) isinstancerrrffspathrer4 TypeErrorr_flavourr>)rrr8rr r r! _parse_argss     zPurePath._parse_argsTcCs<t|}||\}}}||_||_||_|r8||S)N)objectrrrrr_init)rrinitr+r9r:r8r r r!rs zPurePath._from_partscCs,t|}||_||_||_|r(||S)N)rrrrrr)rr9r:r8rr+r r r!rs zPurePath._from_parsed_partscCs4|s|r$|||j|ddS|j|SdS)Nr?)rr*)rr9r:r8r r r!_format_parsed_partsszPurePath._format_parsed_partscCsdS)Nr )r+r r r!rszPurePath._initcCs@||\}}}|j|j|j|j|||\}}}||||S)N)rrrArrrr)r+rr9r:r8r r r! _make_childszPurePath._make_childcCs<y|jStk r6||j|j|jp,d|_|jSXdS)Nr.)rAttributeErrorrrrr)r+r r r!__str__s  zPurePath.__str__cCst|S)N)re)r+r r r! __fspath__szPurePath.__fspath__cCs|j}t||jdS)NrG)rrer1r))r+fr r r!ruszPurePath.as_posixcCs t|S)N)rffsencode)r+r r r! __bytes__szPurePath.__bytes__cCsd|jj|S)Nz{}({!r}))rrrBru)r+r r r!rszPurePath.__repr__cCs|std|j|S)Nz.relative path can't be expressed as a file URI)rrrry)r+r r r!as_uriszPurePath.as_uricCs2y|jStk r,|j|j|_|jSXdS)N)rrrr\r)r+r r r!_cpartss zPurePath._cpartscCs&t|tstS|j|jko$|j|jkS)N)rrNotImplementedrr)r+otherr r r!__eq__s zPurePath.__eq__cCs2y|jStk r,tt|j|_|jSXdS)N)rrhashrr)r+r r r!__hash__s zPurePath.__hash__cCs&t|tr|j|jk rtS|j|jkS)N)rrrrr)r+rr r r!__lt__szPurePath.__lt__cCs&t|tr|j|jk rtS|j|jkS)N)rrrrr)r+rr r r!__le__szPurePath.__le__cCs&t|tr|j|jk rtS|j|jkS)N)rrrrr)r+rr r r!__gt__szPurePath.__gt__cCs&t|tr|j|jk rtS|j|jkS)N)rrrrr)r+rr r r!__ge__ szPurePath.__ge__rz.The drive prefix (letter or UNC path), if any.)docrzThe root of the path, if any.cCs|j|j}|S)N)rr)r+anchorr r r!rs zPurePath.anchorcCs.|j}t||js|jrdndkr&dS|dS)Nr?rr-rM)rrQrr)r+r8r r r!rsz PurePath.namecCsD|j}|d}d|kr,t|dkr.r?)rendswithrSr3)r+rr r r!suffixes1s   zPurePath.suffixescCsD|j}|d}d|kr,t|dkrs    z PurePath.stemcCs|jstd|f|j|f\}}}|rX|d|jj|jjgksX|sX|sXt|dkrdtd|||j|j |j dd|gS)Nz%r has an empty namerMr?zInvalid name %r) rrrr>r)r/rQrrrr)r+rr9r:r8r r r! with_nameHs  zPurePath.with_namecCs|j}|j|ks |jr.|j|kr.td|f|r<|drD|dkrPtd||j}|shtd|f|j}|s|||}n|dt| |}||j |j |j dd|gS)NzInvalid suffix %rr.z%r has an empty namerM) rr)r/rrorr rQrrrr)r+r rrZ old_suffixr r r! with_suffixSs   zPurePath.with_suffixc Gs|s td|j}|j}|j}|r8||g|dd}n|}||\}}}|rf||g|dd} n|} t| } |jj} | dkr|s|rn| |d| | | kr||||} t d t |t | | d| dkr|nd|| dS)Nzneed at least one argumentr?rz{!r} does not start with {!r}r-) rrrrrrQrr\rrrrer) r+rr8r9r:Z abs_partsZto_drvZto_rootZto_partsZ to_abs_partsncf formattedr r r! relative_tohs( *zPurePath.relative_tocCs.y|jStk r(t|j|_|jSXdS)N)rrrr)r+r r r!r8s  zPurePath.partscGs ||S)N)r)r+rr r r!joinpathszPurePath.joinpathcCs ||fS)N)r)r+keyr r r! __truediv__szPurePath.__truediv__cCs||g|jS)N)rr)r+rr r r! __rtruediv__szPurePath.__rtruediv__cCs@|j}|j}|j}t|dkr*|s&|r*|S||||ddS)Nr?rM)rrrrQr)r+r9r:r8r r r!parents zPurePath.parentcCst|S)N)r)r+r r r!parentsszPurePath.parentscCs|js dS|jj pt|jS)NF)rrrboolr)r+r r r!rszPurePath.is_absolutecCs|j|jS)N)rrsr)r+r r r!rsszPurePath.is_reservedc Cs|jj}||}|j|f\}}}|s0td|rF|||jkrFdS|r\|||jkr\dS|j}|sj|rt|t|kr~dS|dd}nt|t|krdSx.tt |t |D]\}}t ||sdSqWdS)Nz empty patternFr?T) rr@r>rrrrrQzipr0r_Z fnmatchcase) r+Z path_patternrr9r:Z pat_partsr8r<r&r r r!rs( zPurePath.matchN)T)T)/rBrCrDrrr classmethodrrrrrrrrrurrrpropertyrrrrrrrrrtr:rrr r r r rrr8rrrrrrrsrr r r r!rlsZ              c@seZdZeZdZdS)rr N)rBrCrD_posix_flavourrrr r r r!rsc@seZdZeZdZdS)rr N)rBrCrD_windows_flavourrrr r r r!rsc@seZdZdZddZdaddZddZd d Zd d Zd dZ dbddZ dcddZ e ddZ e ddZddZddZddZdd Zd!d"Zddd$d%Zd&d'Zd(d)Zd*d+Zded.d/Zd0d1Zdfd2d3Zd4d5Zdgd6d7Zdhd9d:Zdid;d<Zd=d>Zd?d@Z dAdBZ!dCdDZ"dEdFZ#dGdHZ$dIdJZ%djdKdLZ&dMdNZ'dOdPZ(dQdRZ)dSdTZ*dUdVZ+dWdXZ,dYdZZ-d[d\Z.d]d^Z/d_d`Z0dS)kr)r_closedcOsL|tkrtjdkrtnt}|j|dd}|jjs@td|j f| |S)NrF)rz$cannot instantiate %r on your system) rrfrrrrrrrrBr)rrkwargsr+r r r!rs z Path.__new__NcCs"d|_|dk r|j|_nt|_dS)NF)rr_normal_accessor)r+templater r r!r s z Path._initcCs|j|g}||j|j|S)N)rrrr)r+r<r8r r r!rs zPath._make_child_relpathcCs|jr||S)N)r _raise_closed)r+r r r! __enter__szPath.__enter__cCs d|_dS)NT)r)r+tvtbr r r!__exit__sz Path.__exit__cCs tddS)NzI/O operation on closed path)r)r+r r r!r#"szPath._raise_closedcCs|j|||S)N)rr)r+rflagsrr r r!_opener%sz Path._openercCs|jr||j|||S)N)rr#rr)r+r*rr r r! _raw_open)szPath._raw_opencCs |tS)N)rfrg)rr r r!cwd4szPath.cwdcCs||jdS)N)rr)rr r r!home;sz Path.homecCsB|}y |}Wntk r2t|}YnXtj||S)N)rrrfrjsamestat)r+Z other_pathstZother_str r r!samefileBs  z Path.samefileccsL|jr|x8|j|D](}|dkr*q||V|jr|qWdS)N>r...)rr#rrr)r+rr r r!iterdirMs z Path.iterdirccsd|std||j|f\}}}|s.|r6tdtt||j}x||D] }|VqRWdS)NzUnacceptable pattern: {!r}z%Non-relative patterns are unsupported)rrrr>rrrr)r+rcr9r:rselectorrZr r r!glob[sz Path.globccsV|j|f\}}}|s|r$tdtdt||j}x||D] }|VqDWdS)Nz%Non-relative patterns are unsupported)z**)rr>rrrr)r+rcr9r:rr5rZr r r!rglobhs z Path.rglobcCsD|jr||r|S|jtg|jdd}|j|d|S)NF)r)r")rr#rrrfrgrr)r+objr r r!absolutets z Path.absoluteFcCsh|jr||jj||d}|dkr:|t|}|jj|}|j |fdd}|j |d|S)N)rkF)r)r") rr#rrmrrer9rnormpathrr)r+rkrYZnormedr8r r r!rms  z Path.resolvecCs |j|S)N)rr)r+r r r!rsz Path.statcCsddl}||jjS)Nr)rrrst_uidZpw_name)r+rr r r!ownersz Path.ownercCsddl}||jjS)Nr)grpZgetgrgidrst_gidZgr_name)r+r=r r r!groupsz Path.grouprrMc Cs(|jr|tj|||||||jdS)N)opener)rr#iorr+)r+r bufferingencodingerrorsnewliner r r!rsz Path.openc Cs |jdd }|SQRXdS)Nrb)r)rread)r+rr r r! read_bytesszPath.read_bytesc Cs$|jd||d }|SQRXdS)Nr@)rrDrE)rrH)r+rDrErr r r! read_textszPath.read_textc Cs*t|}|jdd }||SQRXdS)Nwb)r) memoryviewrwrite)r+dataZviewrr r r! write_bytesszPath.write_bytesc Cs@t|tstd|jj|jd||d }||SQRXdS)Nzdata must be str, not %sw)rrDrE)rrerrrBrrM)r+rNrDrErr r r! write_texts   zPath.write_textTcCsr|jr||r>y|j|dWntk r8YnXdStjtjB}|sX|tjO}| ||}t |dS)N) rr#rrrrfO_CREATO_WRONLYO_EXCLr-close)r+rexist_okr*fdr r r!touchs   z Path.touchcCs|jr|y|j||Wndtk rd|r>|j|kr@|jjddd|j|d|dYn"tk r|r~|sYnXdS)NT)rrVF)rr#rrrirrr)r+rrrVr r r!rs z Path.mkdircCs |jr||j||dS)N)rr#rr)r+rr r r!rsz Path.chmodcCs |jr||j||dS)N)rr#rr)r+rr r r!r sz Path.lchmodcCs|jr||j|dS)N)rr#rr)r+r r r!rsz Path.unlinkcCs|jr||j|dS)N)rr#rr)r+r r r!rsz Path.rmdircCs|jr||j|S)N)rr#rr)r+r r r!r'sz Path.lstatcCs |jr||j||dS)N)rr#rr)r+rr r r!r0sz Path.renamecCs |jr||j||dS)N)rr#rr1)r+rr r r!r18sz Path.replacecCs"|jr||j|||dS)N)rr#rr)r+rrr r r! symlink_toAszPath.symlink_toc Cs>y |Wn,tk r8}zt|s(dSd}~XYnXdS)NFT)rrr")r+rr r r!rLs z Path.existsc Cs@yt|jStk r:}zt|s*dSd}~XYnXdS)NF)r rst_moderr")r+rr r r!rXs z Path.is_dirc Cs@yt|jStk r:}zt|s*dSd}~XYnXdS)NF)r rrZrr")r+rr r r!is_filees z Path.is_filecCst|r|sdSt|j}y|j}Wntk r@dSX|j}||krXdS|j}|j}||kS)NFT)rrrrrst_devrst_ino)r+rZ parent_devZdevZinoZ parent_inor r r!is_mountss    z Path.is_mountc Cs@yt|jStk r:}zt|s*dSd}~XYnXdS)NF)r rrZrr")r+rr r r!rs zPath.is_symlinkc Cs@yt|jStk r:}zt|s*dSd}~XYnXdS)NF)r rrZrr")r+rr r r!is_block_devices zPath.is_block_devicec Cs@yt|jStk r:}zt|s*dSd}~XYnXdS)NF)rrrZrr")r+rr r r!is_char_devices zPath.is_char_devicec Cs@yt|jStk r:}zt|s*dSd}~XYnXdS)NF)rrrZrr")r+rr r r!is_fifos z Path.is_fifoc Cs@yt|jStk r:}zt|s*dSd}~XYnXdS)NF)r rrZrr")r+rr r r! is_sockets zPath.is_socketcCs`|js\|js\|jr\|jddddkr\|j|jddd}||g|jddS|S)Nrr?~)rrrrrr)r+Zhomedirr r r! expandusers  zPath.expanduser)N)r))r,)F)r@rMNNN)NN)NN)r)T)r,FF)F)1rBrCrDrrrrr$r(r#r+r-rr.r/r2r4r6r7r9rmrr<r?rrIrJrOrQrXrrrrrrrr1rYrrr[r^rr_r`rarbrdr r r r!rs\                        c@seZdZdZdS)rr N)rBrCrDrr r r r!rsc@s(eZdZdZddZddZddZdS) rr cCs tddS)Nz*Path.owner() is unsupported on this system)r)r+r r r!r<szWindowsPath.ownercCs tddS)Nz*Path.group() is unsupported on this system)r)r+r r r!r?szWindowsPath.groupcCs tddS)Nz-Path.is_mount() is unsupported on this system)r)r+r r r!r^szWindowsPath.is_mountN)rBrCrDrr<r?r^r r r r!rs)Ar_ functoolsrBrrfrr]r5_collections_abcrrrrrrroperatorrrr r r r r rrZ urllib.parserrvrrrZgetwindowsversionr__all__rrr"r'rr(rErrrrrr!rrrrrrrrrrPathLikeregisterrrrrrr r r r!sp  $    ?(f1  ,n   e