a DOg&@shddlZddlZddlZddlZddlZddlZzddlZ[dZWneyXdZYn0zddl Z [ dZ WneydZ Yn0zddl Z [ dZ WneydZ Yn0zddl mZWneydZYn0zddlmZWneydZYn0ejdkZdZZejdkr&ddlZner4ddlZer>dnd Zeed oXejd aeoheed Zd ZgdZGdddeZGdddeZGdddeZ GdddeZ!GdddeZ"Gddde#Z$Gddde#Z%ddZ&dd Z'efd!d"Z(dd#d$Z)d%d&Z*d'd(Z+d)d*Z,dd+d,d-Z-dd+d.d/Z.eed0r\dd+d1d2Z/nd3d2Z/dd+d4d5Z0dd+d6d7Z1dd+d8d9Z2d:d;Z3ddd?Z5eej6d@rdAdBZ7dCdDZ8ndEdBZ7dFdDZ8dGdHZ9dIdJZ:ej;ejejko(ej?ej@vo(ejejAvZBddKdLZCeBeC_DdMdNZEe2fdOdPZFdQdRZGdSdTZHdUdVZIdWdXZJddZd[ZKdd\d]ZLd^eKd_gd`fiZMereKdagdbfeMdc<eLgddfeMde<e reKdfgdgfeMdh<e reKdigdjfeMdk<dldmZNddodpZOdqdrZPddsdtZQdudvZRdwdxZSddydzZTd{d|ZUd}d~ZVddZWddddZXdgeXgd`fdgeWgddfdZYer~ddgeXgdbfeYdc<e rddgeXgdgfeYdh<e rddgeXgdjfeYdk<ddZZdddddZ[eedre\de]ddZ^de^j__`de^ja_`de^jb_`ddZcn$er2e\de]ddZ^ddZcdddZddddZeddZfejgejhBdfddZidS)NTF)getpwnam)getgrnamntposixiisendfileZlinux _fcopyfilez%.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC) copyfileobjcopyfilecopymodecopystatcopycopy2copytreemovermtreeErrorSpecialFileError ExecError make_archiveget_archive_formatsregister_archive_formatunregister_archive_formatget_unpack_formatsregister_unpack_formatunregister_unpack_formatunpack_archiveignore_patternschownwhichget_terminal_size SameFileErrorc@s eZdZdS)rN__name__ __module__ __qualname__r%r%+/opt/alt/python39/lib64/python3.9/shutil.pyrEsrc@s eZdZdS)r Nr!r%r%r%r&r Hsr c@s eZdZdS)rNr!r%r%r%r&rKsrc@s eZdZdS)rNr!r%r%r%r&rOsrc@s eZdZdS) ReadErrorNr!r%r%r%r&r'Rsr'c@s eZdZdS) RegistryErrorNr!r%r%r%r&r(Usr(c@s eZdZdS)_GiveupOnFastCopyNr!r%r%r%r&r)Ysr)c Csz|}|}Wn,ty@}zt|WYd}~n d}~00zt|||WnVty}z>|j|_|j|_|j t j t j hvrt|n|dWYd}~n d}~00dSN) fileno Exceptionr)rrOSErrornamefilename filename2errnoEINVALENOTSUP)fsrcfdstflagsinfdoutfderrr%r%r&_fastcopy_fcopyfile^s  r:c CsFz|}|}Wn,ty@}zt|WYd}~n d}~00ztt|jd}Wntynd}Yn0tj dkrt |d}d}zt ||||}Wnty(}zr|j |_ |j |_|jtjkrdat||jtjkr|d|dkrt|dtjdkrt||WYd}~qd}~00|dkr8qB||7}qdS)Niili@rF)r+r,r)maxosfstatst_sizer-sysmaxsizeminrr.r/r0r1ZENOTSOCK_USE_CP_SENDFILEZENOSPClseekSEEK_CUR)r4r5r7r8r9Z blocksizeoffsetZsentr%r%r&_fastcopy_sendfilers8         rFc Cs|j}|j}tt|j}||}|s*qtq||krj|d|}||Wdqr1s^0Yq||qWdn1s0YdSr*)readintowrite memoryview bytearray)r4r5lengthZ fsrc_readinto fdst_writeZmvnZsmvr%r%r&_copyfileobj_readintos*rNcCs0|st}|j}|j}||}|s"q,||qdSr*) COPY_BUFSIZEreadrH)r4r5rKZ fsrc_readrLZbufr%r%r&rsrcCst|tjrHttjdrHztj|t|WStyFYdS0ttjdrzztj||WStyxYdS0tj tj |tj tj |kS)NsamestatFsamefile) isinstancer<DirEntryhasattrpathrQstatr-rRnormcaseabspathsrcdstr%r%r& _samefiles   r]cCst|tjr|St|Sr*)rSr<rTrWfnr%r%r&_statsr`cCs t|tjr|Stj|Sr*)rSr<rT is_symlinkrVislinkr^r%r%r&_islinksrcfollow_symlinksc Cs^td||t||r(td||d}t||gD]h\}}z t|}Wnty^Yq80t |j rt |t j r~|jn|}td|tr8|dkr8|j}q8|st|rt t ||nt|dx}zt|d}tr4z2t||tj|WWdWWdSty0Yn0ntrz.t|||WWdWWdSty|Yn0nDtr|dkrt||t|t|WdWWdSt ||Wdn1s0YWnHt!y8} z.t j"|s"t#d|| nWYd} ~ n d} ~ 00Wdn1sP0Y|S)Nzshutil.copyfilez{!r} and {!r} are the same filerz`%s` is a named piperbwbzDirectory does not exist: )$r?auditr]r format enumerater`r-rWS_ISFIFOst_moderSr<rTrVr_WINDOWSr>rcsymlinkreadlinkopen_HAS_FCOPYFILEr:rZ_COPYFILE_DATAr)rBrFrNrArOrIsADirectoryErrorexistsFileNotFoundError) r[r\re file_sizeir_str4r5er%r%r&r sP       $ $".8r cCsptd|||sFt|rFtj|rFttdr@tjtj}}qRdSn t tj }}||}||t |j dS)Nzshutil.copymodelchmod)r?rhrcr<rVrbrUlstatryr`chmodrWS_IMODErl)r[r\reZ stat_funcZ chmod_funcrwr%r%r&r *s  r listxattrc Csztj||d}Wn>tyP}z&|jtjtjtjfvr:WYd}~dSd}~00|D]l}z&tj|||d}tj||||dWqVty}z(|jtj tjtjtjfvrWYd}~qVd}~00qVdSNrd) r<r}r-r1r3ZENODATAr2getxattrsetxattrZEPERM)r[r\renamesrxr.valuer%r%r& _copyxattr@s rcOsdSr*r%)argskwargsr%r%r&rXsc s`td||ddddd|p6t|o4tj| }|rJfdd}n fdd}t|tjrp|j|d}n|d ||d}t |j }|d ||j |j f|dt |||dz|d |||dWntyYn0t|d r\z|d ||j|dWnXtyZ}z>dD]*}tt|r|jtt|krqFqWYd}~n d}~00dS)Nzshutil.copystat)nsrecWsdSr*r%)rrerr%r%r&_nopiszcopystat.._nopcs tt|Sr*)getattrr<r.rr%r&lookuppszcopystat..lookupcstt|}|tjvr|SSr*)rr<supports_follow_symlinks)r.r_rr%r&rus  rdrWutimer{st_flagsZchflags)Z EOPNOTSUPPr3)r?rhrcr<rVrbrSrTrWr|rl st_atime_ns st_mtime_nsrNotImplementedErrorrUrr-r1r) r[r\reZfollowrrwmodewhyr9r%rr&r [s4       r cCsBtj|r"tj|tj|}t|||dt|||d|Sr~)r<rVisdirjoinbasenamer r r[r\rer%r%r&r s r cCsBtj|r"tj|tj|}t|||dt|||d|Sr~)r<rVrrrr r rr%r%r&r s r csfdd}|S)Ncs(g}D]}|t||qt|Sr*)extendfnmatchfilterset)rVr ignored_namespatternpatternsr%r&_ignore_patternssz)ignore_patterns.._ignore_patternsr%)rrr%rr&rs rc CsD|dur$|t|dd|D}nt}tj||dg} |tupJ|tu} |D]} | j|vrbqPtj|| j} tj|| j} | r| n| }z| }|rtjdkr| j dd}|j t j krd}|r8t | }|rt|| t|| | dnBtj|s |r WqP| r,t|| ||||dn ||| n*| rXt|| ||||dn ||| WqPty}z| |jdWYd}~qPd}~0ty}z | | | t|fWYd}~qPd}~00qPzt||WnLty0}z2t|d ddur| ||t|fWYd}~n d}~00| r@t| |S) NcSsg|] }|jqSr%r).0xr%r%r& z_copytree..)exist_okrFrd) dirs_exist_okrZwinerror)r<fspathrmakedirsr r r.rVrrarWst_reparse_tagIO_REPARSE_TAG_MOUNT_POINTrornr rsis_dirrrrrr-appendstrr)entriesr[r\symlinksignore copy_functionignore_dangling_symlinksrrerrorsZ use_srcentryZsrcentryZsrcnameZdstnameZsrcobjrarzlinktor9rr%r%r& _copytrees^            $,*rc CsXtd||t|}t|}Wdn1s60Yt||||||||dS)Nzshutil.copytree)rr[r\rrrrr)r?rhr<scandirlistr) r[r\rrrrrZitrrr%r%r&r s( & rst_file_attributescCsNz4|jdd}t|jo2|jtj@o0|jtjk WStyHYdS0dSNFrd)rWS_ISDIRrlrFILE_ATTRIBUTE_REPARSE_POINTrrr-)entryrwr%r%r& _rmtree_isdirAs     rcCsJz0t|}t|jp.|jtj@o.|jtjkWSt yDYdS0dS)NF) r<rzrWS_ISLNKrlrrrrr-)rVrwr%r%r&_rmtree_islinkJs     rcCs(z|jddWSty"YdS0dSr)rr-)rr%r%r&rSs cCs tj|Sr*)r<rVrb)rVr%r%r&rYsc Cs2z6t|}t|}Wdn1s*0YWn(ty^|tj|tg}Yn0|D]}|j}t|rz|rtdWn*ty|tjj |tYqdYn0t ||qdzt |Wqdty|tj |tYqd0qdzt |Wn&ty,|tj |tYn0dS)N%Cannot call rmtree on a symbolic link) r<rrr-r?exc_inforVrrarb_rmtree_unsafeunlinkrmdir)rVonerror scandir_itrrfullnamer%r%r&r]s0 *       rc Cs`z6t|}t|}Wdn1s*0YWn>tyt}z&||_|tj|tWYd}~dSd}~00|D]}tj||j }z|j dd}Wntyd}YnP0|rz|j dd} t | j }Wn*ty|tj|tYqzYn0|rztj|j tj|d} d} Wn&tyN|tj|tYn0ztj| t| rt| ||z"t| d} tj|j |dWn&ty|tj|tYn0n6z tdWn(ty|tjj|tYn0W| st| n| st| 0qzztj|j |dWqztyX|tj|tYqz0qzdS)NFrd)dir_fdTr)r<rrr-r/r?rrVrr.rrWrrlrzrpO_RDONLYrQr=_rmtree_safe_fdcloserrbr) topfdrVrrrr9rrrorig_stdirfdZ dirfd_closedr%r%r&r|s^ *         rc Cstd||rdd}n|dur*dd}trt|trDt|}zt|}Wn&tyx|tj|t YdS0zt |tj }d}Wn&ty|tj |t YdS0ztj |t|r"t|||zt|d}t|Wn&ty|tj|t Yn0n6z tdWn(tyV|tj j|t Yn0W|s~t|n|s|t|0nLzt|rtdWn*ty|tj j|t YdS0t||SdS)Nz shutil.rmtreecWsdSr*r%rr%r%r&rszrmtree..onerrorcWsdSr*r%rr%r%r&rsFTr)r?rh_use_fd_functionsrSbytesr<fsdecoderzr,rrprrVrQr=rrrr-rbrr)rV ignore_errorsrrfdZ fd_closedr%r%r&rsV            rcCs0t|}tjjtjjpd}tj||S)N)r<rrVsepaltseprrstrip)rVrr%r%r& _basenames rc CsRtd|||}tj|rbt||r8t||dStj|t|}tj |rbt d|zt||Wnt yLtj |rt |}t||t|ntj|r4t||rt d||ft|s t|tjst|rtjdkrtd||ft|||ddt|n|||t|Yn0|S)Nz shutil.movez$Destination path '%s' already existsz.Cannot move a directory '%s' into itself '%s'.darwinzKCannot move the non-empty directory '%s': Lacking write permission to '%s'.T)rr)r?rhr<rVrr]renamerrrsrr-rbrornr _destinsrc _is_immutableaccessW_OKlistdirplatformPermissionErrorrr)r[r\rZreal_dstrr%r%r&rsL              rcCsVtj|}tj|}|tjjs2|tjj7}|tjjsL|tjj7}||Sr*)r<rVrYendswithr startswithrZr%r%r&rQs    rcCs(t|}tjtjg}t|do&|j|vS)Nr)r`rW UF_IMMUTABLE SF_IMMUTABLErUr)r[rwZimmutable_statesr%r%r&rZs rcCsLtdus|durdSz t|}Wnty6d}Yn0|durH|dSdSN)rKeyErrorr.resultr%r%r&_get_gid_s   rcCsLtdus|durdSz t|}Wnty6d}Yn0|durH|dSdSr)rrrr%r%r&_get_uidks   rgzipcs(|durd}nDtr |dkr d}n2tr2|dkr2d}n trD|dkrDd}ntd|ddl} |rfd |nd} |d | } tj| } | rtj | s|dur| d | |st | |dur| d t t fd d} |s$| | d|}z|j|| dW|n |0| S)NrrZgzbzip2bz2xzzCbad value for 'compress', or compression format not supported : {0}r..tar creating %szCreating tar archivecs,dur|_|_dur(|_|_|Sr*)gidZgnameuiduname)Ztarinforgroupownerrr%r& _set_uid_gidsz#_make_tarball.._set_uid_gidzw|%sr)_ZLIB_SUPPORTED_BZ2_SUPPORTED_LZMA_SUPPORTED ValueErrorritarfiler<rVdirnamersinforrrrpaddr) base_namebase_dircompressverbosedry_runrrloggerZtar_compressionrZ compress_extZ archive_name archive_dirrtarr%rr& _make_tarballws>         r c Csddl}|d}tj|}|rNtj|sN|dur@|d||sNt||durd|d|||s|j|d|jd}tj |} | tj kr| | | |dur|d| t |D]\} } } t | D]:} tj tj| | } | | | |dur|d| q| D]L} tj tj| | } tj| r| | | |dur|d| qqWdn1sv0Y|S)Nr.ziprz#creating '%s' and adding '%s' to itw)Z compressionz adding '%s')zipfiler<rVrrsrrZipFileZ ZIP_DEFLATEDnormpathcurdirrHwalksortedrisfile)rrrr r rZ zip_filenamer ZzfrVdirpathZdirnames filenamesr.r%r%r& _make_zipfilesF           2rr )rNzuncompressed tar file)rrzgzip'ed tar-fileZgztarzZIP filezip)rrzbzip2'ed tar-fileZbztar)rrzxz'ed tar-fileZxztarcCsddtD}||S)NcSsg|]\}}||dfqS)rr%)rr.registryr%r%r&rrz'get_archive_formats..)_ARCHIVE_FORMATSitemssortZformatsr%r%r&rs rrcCst|dur g}t|s td|t|ttfs6td|D]&}t|ttfrXt|dkr:tdq:|||ft|<dS)NzThe %s object is not callablez!extra_args needs to be a sequencerz+extra_args elements are : (arg_name, value))callable TypeErrorrStuplerlenr)r.function extra_args descriptionZelementr%r%r&rs   rcCs t|=dSr*)rrr%r%r&rsrc  CsBtd||||t} |durP|dur6|d|tj|}|sPt||dur^tj}||d} z t |} Wn t yt d|dYn0| d} | dD]\} }|| | <q|dkr|| d<|| d <z@| ||fi| }W|dur>|dur|d | t| n,|dur<|dur2|d | t| 0|S) Nzshutil.make_archivezchanging into '%s')r r zunknown archive format '%s'rrrrzchanging back to '%s') r?rhr<getcwddebugrVrYchdirrrrr)rriZroot_dirrrr rrr Zsave_cwdr format_infofuncargvalr/r%r%r&rs@              rcCsddtD}||S)NcSs"g|]\}}||d|dfqS)rr%)rr.rr%r%r&rUrz&get_unpack_formats..)_UNPACK_FORMATSrrrr%r%r&rOs rc Csji}tD]\}}|dD] }|||<qq |D]$}||vr0d}t||||fq0t|sftddS)Nrz!%s is already registered for "%s"z*The registered function must be a callable)r0rr(r r!) extensionsr$r%Zexisting_extensionsr.rext extensionmsgr%r%r&_check_unpack_optionsZs   r5cCs,|dur g}t|||||||ft|<dSr*)r5r0)r.r1r$r%r&r%r%r&rls rcCs t|=dSr*)r0rr%r%r&rsrcCs&tj|}tj|s"t|dSr*)r<rVrrr)rVrr%r%r&_ensure_directorys  r6c Csddl}||std|||}z|D]}|j}|ds2d|vrPq2tjj |g| dR}|spq2t || ds2| |dD}t |d}t||Wdn1s0YWdq21s0Yq2W|n |0dS)Nrz%s is not a zip file/z..rrg)rZ is_zipfiler'rZinfolistr/rr<rVrsplitr6rrprr) r/ extract_dirrrrr.Z targetpathsourcetargetr%r%r&_unpack_zipfiles(     Jr=rcCsbddl}z||}Wn |jy6td|Yn0z|j||dW|n |0dS)Nrz/%s is not a compressed or uncompressed tar filer)rrpZTarErrorr'Z extractallr)r/r:rrZtarobjr%r%r&_unpack_tarfiles r>rr)r rz.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzcCs:tD],\}}|dD]}||r|SqqdS)Nr)r0rr)r/r.rr3r%r%r&_find_unpack_formats   r?cCstd||||dur t}t|}t|}|durBi}nd|i}|durz t|}Wn"tytd|dYn0|d}|||fit |d|nPt |}|durt d|t|d}t t|d|B}|||fi|dS)Nzshutil.unpack_archiverzUnknown unpack format '{0}'r'rzUnknown archive format '{0}') r?rhr<r(rr0rrridictr?r')r/r:rirZ filter_kwargsr+r,rr%r%r&rs*      rstatvfs disk_usageZusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytescCs@t|}|j|j}|j|j}|j|j|j}t|||Sr*)r<rAf_bavailf_frsizef_blocksf_bfree_ntuple_diskusage)rVrwfreetotalusedr%r%r&rB s    cCs"t|\}}||}t|||Sr*)rZ _getdiskusagerG)rVrIrHrJr%r%r&rBscCstd||||dur(|dur(td|}|}|dur>d}n(t|trft|}|durftd||durtd}n(t|tst |}|durtd|t |||dS)Nz shutil.chownzuser and/or group must be setzno such user: {!r}zno such group: {!r}) r?rhrrSrr LookupErrorriintrr<r)rVuserrZ_userZ_groupr%r%r&r%s$  rPc Cszttjd}Wnttfy,d}Yn0zttjd}WnttfyZd}Yn0|dksl|dkrzttj}Wn"t tt fyt |}Yn0|dkr|j }|dkr|j }t ||fS)NZCOLUMNSrZLINES)rMr<environrrrr? __stdout__r+AttributeErrorr- terminal_sizecolumnslines)ZfallbackrVrWsizer%r%r&rEs$  rcCs&tj|o$t||o$tj| Sr*)r<rVrsrr)r_rr%r%r& _access_checkvs rYc stjrt|rSdStt}|durrtjdd}|durrztd}Wnt t fyptj }Yn0|szdS|rt |}| t tj}nt|}| tj}tjdkrRtj}|rt |}||vr|d|tdpt}dd| tjD}|rdd|D}tfd d |Dr>g}nfd d|D}ng}t}|D]X} tj| } | |vrb|| |D],} tj| | } t| |r| SqqbdS) NPATHCS_PATHZwin32rZPATHEXTcSsg|] }|r|qSr%r%rr2r%r%r&rrzwhich..cSsg|]}t|qSr%)r<fsencoder\r%r%r&rrc3s |]}|VqdSr*)lowerrr\cmdr%r& rzwhich..csg|] }|qSr%r%r\r_r%r&rr)r<rVrrYrSrrRgetconfstrrTrdefpathr]r9pathseprr?rrinsertgetenv_WIN_DEFAULT_PATHEXTanyrrXrr) r`rrVZ use_bytesrZpathext_sourceZpathextfilesseendirZnormdirZthefiler.r%r_r&r{sV              r)r)F)FN)rrrNNN)rrN)Nr)NNrrNNN)Nr)NN)NN)rO)jr<r?rWr collectionsr1zlibr ImportErrorrrZlzmarpwdrZgrprr.rmrrrOrUrrrBrqrh__all__r-rr rrr'r,r(r)r:rFrNrr]r`rcr r rr r r rrr stat_resultrrrrrprrsupports_dir_fdr supports_fdrrrZavoids_symlink_attacksrrrrrrr rrrrrrrr5rrr6r=r>r0r?rr namedtuplerGrI__doc__rJrHrBrrrYF_OKX_OKrr%r%r%r&s<              @  @ B A 0 8   B B    A -   8       1       1