<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]p              A   @   sl  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z y d  d l Z [ d Z Wn e k
 r{ d Z Yn Xy d  d l	 Z	 [	 d Z
 Wn e k
 r d Z
 Yn Xy d  d l Z [ d Z Wn e k
 r d Z Yn Xy d  d l m Z Wn e k
 rd Z Yn Xy d  d l m Z Wn e k
 rAd Z Yn Xd d d d	 d
 d d d d d d d d d d d d d d d d d d d d g Z Gd d   d e  Z Gd  d   d e  Z Gd! d   d e  Z Gd" d   d e  Z Gd# d$   d$ e  Z Gd% d&   d& e  Z d d) d  Z d* d+   Z d, d d- d  Z d, d d. d  Z e e  d/  rzd, d d0 d1  Z n d2 d1   Z d, d d3 d	  Z  d, d d4 d
  Z! d, d d5 d  Z" d6 d   Z# d d e" d d7 d  Z$ d8 d9   Z% d: d;   Z& e  j' e  j e  j( e  j) h e  j* k o@e  j+ e  j, k o@e  j e  j- k Z. d d d< d  Z/ e. e/ _0 d= d>   Z1 e" d? d  Z2 d@ dA   Z3 dB dC   Z4 dD dE   Z5 dF d  d  d d d dG dH  Z6 d  d  d dI dJ  Z7 dK e6 d g dM f i Z8 e re6 d g dN f e8 dO <e7 g  dP f e8 dQ <e
 r3e6 d g dS f e8 dT <e rOe6 d g dV f e8 dW <dX d   Z9 d dY dZ d  Z: d[ d   Z; d d d  d  d d d d\ d  Z< d] d   Z= d^ d_   Z> d dY d` d  Z? da d   Z@ db dc   ZA dd de   ZB df dg   ZC dK dh g eC g  dM f dQ di g eB g  dP f i ZD e rFdj dk g eC g  dN f eD dO <e
 rhdl dm g eC g  dS f eD dT <e rdn do g eC g  dV f eD dW <dp dq   ZE d d dr d  ZF e e  ds  re jG dt  e jH du dv  ZI dw dt   ZJ nF e  jK dx k r+d  d lL ZL e jG dt  e jH du dv  ZI dy dt   ZJ d d dz d  ZM d d} d  ZN e  jO e  jP Bd d~ d  ZQ d S)    NTF)getpwnam)getgrnamcopyfileobjcopyfilecopymodecopystatcopycopy2copytreemovermtreeErrorSpecialFileError	ExecErrormake_archiveget_archive_formatsregister_archive_formatunregister_archive_formatget_unpack_formatsregister_unpack_formatunregister_unpack_formatunpack_archiveignore_patternschownwhichget_terminal_sizeSameFileErrorc               @   s   e  Z d  Z d S)r   N)__name__
__module____qualname__ r    r    +/opt/alt/python35/lib64/python3.5/shutil.pyr   7   s   c               @   s   e  Z d  Z d S)r   N)r   r   r   r    r    r    r!   r   :   s   c               @   s   e  Z d  Z d S)r   N)r   r   r   r    r    r    r!   r   =   s   c               @   s   e  Z d  Z d S)r   N)r   r   r   r    r    r    r!   r   A   s   c               @   s   e  Z d  Z d S)	ReadErrorN)r   r   r   r    r    r    r!   r"   D   s   r"   c               @   s   e  Z d  Z d S)RegistryErrorN)r   r   r   r    r    r    r!   r#   G   s   r#      i   c             C   s.   x' |  j  |  } | s P| j |  q Wd  S)N)readwrite)fsrcfdstlengthbufr    r    r!   r   L   s
    c             C   s|   t  t j d  rB y t j j |  |  SWn t k
 rA d SYn Xt j j t j j |    t j j t j j |   k S)NsamefileF)hasattrospathr+   OSErrornormcaseabspath)srcdstr    r    r!   	_samefileT   s    	r4   follow_symlinksc            C   s   t  |  |  r' t d j |  |    x^ |  | g D]P } y t j |  } Wn t k
 ra Yq4 Xt j | j  r4 t d |   q4 W| r t j	 j
 |   r t j t j |   |  n? t |  d  - } t | d   } t | |  Wd  QRXWd  QRX| S)Nz{!r} and {!r} are the same filez`%s` is a named piperbwb)r4   r   formatr-   statr/   S_ISFIFOst_moder   r.   islinksymlinkreadlinkopenr   )r2   r3   r5   fnstr'   r(   r    r    r!   r   `   s    c            C   s   | rW t  j j |   rW t  j j |  rW t t  d  rP t  j t  j } } q d  Sn) t t  d  r| t  j t  j } } n d  S| |   } | | t j | j	   d  S)Nlchmodchmod)
r-   r.   r<   r,   lstatrB   r9   rC   S_IMODEr;   )r2   r3   r5   	stat_func
chmod_funcrA   r    r    r!   r   }   s    +	listxattrc            C   s   y t  j |  d | } WnG t k
 rb } z' | j t j t j f k rL   d  SWYd  d  } ~ Xn Xx | D] } y5 t  j |  | d | } t  j | | | d | Wqj t k
 r } z) | j t j t j t j f k r   WYd  d  } ~ Xqj Xqj Wd  S)Nr5   )	r-   rH   r/   errnoENOTSUPENODATAgetxattrsetxattrEPERM)r2   r3   r5   namesenamevaluer    r    r!   
_copyxattr   s    	!rS   c              O   s   d  S)Nr    )argskwargsr    r    r!   rS      s    c      	         s  d d  d d  d d    | p@ t  j j |   o? t  j j |  } | r^   f d d   } n   f d d   } | d  |  d | } t j | j  } | d	  | d | j | j f d | y | d
  | | d | Wn t k
 r Yn Xt	 | d  ry  | d  | | j
 d | Wna t k
 r} zA x9 d D]. } t	 t |  r?| j t t |  k r?Pq?W  WYd  d  } ~ Xn Xt |  | d | d  S)Nnsr5   c             W   s   d  S)Nr    )rV   r5   rT   r    r    r!   _nop   s    zcopystat.<locals>._nopc                s   t  t |     S)N)getattrr-   )rQ   )rW   r    r!   lookup   s    zcopystat.<locals>.lookupc                s)   t  t |     } | t j k r% | S  S)N)rX   r-   supports_follow_symlinks)rQ   r@   )rW   r    r!   rY      s    r9   utimerC   st_flagschflags
EOPNOTSUPPrJ   )r^   rJ   )r-   r.   r<   r9   rE   r;   st_atime_nsst_mtime_nsNotImplementedErrorr,   r\   r/   rI   rX   rS   )	r2   r3   r5   followrY   rA   modewhyerrr    )rW   r!   r      s,    +! 'c            C   s]   t  j j |  r3 t  j j | t  j j |    } t |  | d | t |  | d | | S)Nr5   )r-   r.   isdirjoinbasenamer   r   )r2   r3   r5   r    r    r!   r      s
    !c            C   s]   t  j j |  r3 t  j j | t  j j |    } t |  | d | t |  | d | | S)Nr5   )r-   r.   rf   rg   rh   r   r   )r2   r3   r5   r    r    r!   r	      s
    
!c                 s     f d d   } | S)Nc                s:   g  } x'   D] } | j  t j | |   q Wt |  S)N)extendfnmatchfilterset)r.   rO   ignored_namespattern)patternsr    r!   _ignore_patterns
  s    z)ignore_patterns.<locals>._ignore_patternsr    )ro   rp   r    )ro   r!   r     s    c             C   ss  t  j |   } | d  k	 r- | |  |  } n	 t   } t  j |  g  } x| D]}	 |	 | k re qP t  j j |  |	  }
 t  j j | |	  } y t  j j |
  r7t  j |
  } | r t  j | |  t	 |
 | d | qot  j j
 |  r | r wP t  j j |
  r't |
 | | | |  qo| |
 |  n8 t  j j |
  rbt |
 | | | |  n | |
 |  WqP t k
 r} z | j | j d  WYd  d  } ~ XqP t k
 r} z! | j |
 | t |  f  WYd  d  } ~ XqP XqP Wy t	 |  |  WnY t k
 r\} z9 t | d d   d  k rJ| j |  | t |  f  WYd  d  } ~ Xn X| rot |   | S)Nr5   r   winerror)r-   listdirrl   makedirsr.   rg   r<   r>   r=   r   existsrf   r
   r   ri   rT   r/   appendstrrX   )r2   r3   symlinksignorecopy_functionignore_dangling_symlinksrO   rm   errorsrQ   srcnamedstnamelinktore   rd   r    r    r!   r
     sL    $	
&3/c          $   C   s  y" t  j j |   r! t d   Wn2 t k
 rV | t  j j |  t j    d  SYn Xg  } y t  j |   } Wn+ t k
 r | t  j |  t j    Yn Xx | D] } t  j j |  |  } y t  j |  j	 } Wn t k
 r d } Yn Xt
 j |  rt | |  q y t  j |  Wq t k
 rN| t  j | t j    Yq Xq Wy t  j |   Wn+ t k
 r| t  j |  t j    Yn Xd  S)Nz%Cannot call rmtree on a symbolic linkr   )r-   r.   r<   r/   sysexc_inforr   rg   rD   r;   r9   S_ISDIR_rmtree_unsafeunlinkrmdir)r.   onerrorrO   rQ   fullnamerc   r    r    r!   r   k  s6    	"r   c       
   0   C   s@  g  } y t  j |   } WnG t k
 rb } z' | | _ | t  j | t j    WYd  d  } ~ Xn Xx| D]} t  j j | |  } y( t  j | d |  d d } | j	 } Wn t k
 r d } Yn Xt j
 |  ry t  j | t  j d |  }	 Wn+ t k
 r#| t  j | t j    Yq8Xz t  j j | t  j |	   rt |	 | |  y t  j | d |  Wqt k
 r| t  j | t j    YqXnA y t d   Wn. t k
 r| t  j j | t j    Yn XWd  t  j |	  Xqj y t  j | d |  Wqj t k
 r7| t  j | t j    Yqj Xqj Wd  S)Ndir_fdr5   Fr   z%Cannot call rmtree on a symbolic link)r-   rr   r/   filenamer   r   r.   rg   r9   r;   r   r?   O_RDONLYsamestatfstat_rmtree_safe_fdr   r<   closer   )
topfdr.   r   rO   re   rQ   r   orig_strc   dirfdr    r    r!   r     sD    	,!%r   c          !   C   s  | r d d   } n | d  k r- d d   } t  rt |  t  rQ t j |   }  y t j |   } Wn/ t k
 r | t j |  t j    d  SYn Xy t j	 |  t j
  } Wn/ t k
 r | t j |  t j    d  SYn Xz t j j | t j |   rTt | |  |  y t j |   Wqt k
 rP| t j |  t j    YqXnA y t d   Wn. t k
 r| t j j |  t j    Yn XWd  t j |  Xn t |  |  Sd  S)Nc              W   s   d  S)Nr    )rT   r    r    r!   r     s    zrmtree.<locals>.onerrorc              W   s     d  S)Nr    )rT   r    r    r!   r     s    z%Cannot call rmtree on a symbolic link)_use_fd_functions
isinstancebytesr-   fsdecoderD   	Exceptionr   r   r?   r   r.   r   r   r   r   r/   r<   r   r   )r.   ignore_errorsr   r   fdr    r    r!   r     s<    		!%c             C   s5   t  j j t  j j p d } t  j j |  j |   S)N )r-   r.   sepaltseprh   rstrip)r.   r   r    r    r!   	_basename  s    r   c             C   s]  | } t  j j |  rx t |  |  r; t  j |  |  d  St  j j | t |    } t  j j |  rx t d |   y t  j |  |  Wn t	 k
 rXt  j j
 |   r t  j |   } t  j | |  t  j |   nw t  j j |   r:t |  |  rt d |  | f   t |  | d | d d t |   n | |  |  t  j |   Yn X| S)Nz$Destination path '%s' already existsz.Cannot move a directory '%s' into itself '%s'.ry   rw   T)r-   r.   rf   r4   renamerg   r   rt   r   r/   r<   r>   r=   r   
_destinsrcr
   r   )r2   r3   ry   real_dstr~   r    r    r!   r     s2    c             C   s{   t  j j |   }  t  j j |  } |  j t  j j  sI |  t  j j 7}  | j t  j j  sn | t  j j 7} | j |   S)N)r-   r.   r1   endswithr   
startswith)r2   r3   r    r    r!   r   2  s    r   c             C   s_   t  d  k s |  d  k r d  Sy t  |   } Wn t k
 rF d  } Yn X| d  k	 r[ | d Sd  S)N   )r   KeyError)rQ   resultr    r    r!   _get_gid;  s    r   c             C   s_   t  d  k s |  d  k r d  Sy t  |   } Wn t k
 rF d  } Yn X| d  k	 r[ | d Sd  S)Nr   )r   r   )rQ   r   r    r    r!   _get_uidG  s    r   gzipc          
      s  | d  k r d } nf t  r0 | d k r0 d } nK t rK | d k rK d } n0 t rf | d k rf d } n t d j |    d d  l }	 | r d	 | n d }
 |  d
 |
 } t j j |  } | rt j j	 |  r| d  k	 r | j
 d |  | st j |  | d  k	 r| j
 d  t    t          f d d   } | s|	 j | d |  } z | j | d | Wd  | j   X| S)Nr   r   gzbzip2bz2xzzCbad value for 'compress', or compression format not supported : {0}r   .z.tarzcreating %szCreating tar archivec                s@     d  k	 r   |  _   |  _  d  k	 r<  |  _  |  _ |  S)N)gidgnameuiduname)tarinfo)r   groupownerr   r    r!   _set_uid_gid  s    				z#_make_tarball.<locals>._set_uid_gidzw|%srk   )_ZLIB_SUPPORTED_BZ2_SUPPORTED_LZMA_SUPPORTED
ValueErrorr8   tarfiler-   r.   dirnamert   infors   r   r   r?   addr   )	base_namebase_dircompressverbosedry_runr   r   loggertar_compressionr   compress_extarchive_namearchive_dirr   tarr    )r   r   r   r   r!   _make_tarballS  s<    						r   c             C   s  d d  l  } |  d } t j j |   } | rp t j j |  rp | d  k	 r] | j d |  | sp t j |  | d  k	 r | j d | |  | s| j | d d | j K} t j j	 |  }	 |	 t j
 k r | j |	 |	  | d  k	 r | j d |	  x t j |  D] \ }
 } } xa t |  D]S } t j j	 t j j |
 |   }	 | j |	 |	  | d  k	 r,| j d |	  q,Wxm | D]e } t j j	 t j j |
 |   }	 t j j |	  r| j |	 |	  | d  k	 r| j d |	  qWqWWd  QRX| S)Nr   z.zipzcreating %sz#creating '%s' and adding '%s' to itwcompressionzadding '%s')zipfiler-   r.   r   rt   r   rs   ZipFileZIP_DEFLATEDnormpathcurdirr&   walksortedrg   isfile)r   r   r   r   r   r   zip_filenamer   zfr.   dirpathdirnames	filenamesrQ   r    r    r!   _make_zipfile  s@    
	
!!r   r   r   zuncompressed tar filezgzip'ed tar-filegztarzZIP filezipr   zbzip2'ed tar-filebztarr   zxz'ed tar-filexztarc              C   s'   d d   t  j   D }  |  j   |  S)Nc             S   s&   g  |  ] \ } } | | d  f  q S)r   r    ).0rQ   registryr    r    r!   
<listcomp>  s   	 z'get_archive_formats.<locals>.<listcomp>)_ARCHIVE_FORMATSitemssort)formatsr    r    r!   r     s    	
r   c             C   s   | d  k r g  } t  |  s. t d |   t | t t f  sO t d   xB | D]: } t | t t f  s t |  d k rV t d   qV W| | | f t |  <d  S)NzThe %s object is not callablez!extra_args needs to be a sequencer   z+extra_args elements are : (arg_name, value))callable	TypeErrorr   tuplelistlenr   )rQ   function
extra_argsdescriptionelementr    r    r!   r     s    	(c             C   s   t  |  =d  S)N)r   )rQ   r    r    r!   r     s    c	             C   sU  t  j   }	 | d  k	 rY | d  k	 r4 | j d |  t  j j |   }  | sY t  j |  | d  k rn t  j } d | d | i }
 y t | } Wn" t k
 r t	 d |   Yn X| d } x" | d D] \ } } | |
 | <q W| d k r| |
 d <| |
 d	 <z | |  | |
  } Wd  | d  k	 rP| d  k	 rC| j d
 |	  t  j |	  X| S)Nzchanging into '%s'r   r   zunknown archive format '%s'r      r   r   r   zchanging back to '%s')
r-   getcwddebugr.   r1   chdirr   r   r   r   )r   r8   root_dirr   r   r   r   r   r   save_cwdrU   format_infofuncargvalr   r    r    r!   r     s6    	


c              C   s'   d d   t  j   D }  |  j   |  S)Nc             S   s-   g  |  ]# \ } } | | d  | d f  q S)r      r    )r   rQ   r   r    r    r!   r   0  s   	 z&get_unpack_formats.<locals>.<listcomp>)_UNPACK_FORMATSr   r   )r   r    r    r!   r   *  s    	
c       	      C   s   i  } x9 t  j   D]+ \ } } x | d D] } | | | <q* Wq Wx: |  D]2 } | | k rI d } t | | | | f   qI Wt |  s t d   d  S)Nr   z!%s is already registered for "%s"z*The registered function must be a callable)r   r   r#   r   r   )	
extensionsr   r   existing_extensionsrQ   r   ext	extensionmsgr    r    r!   _check_unpack_options5  s    	r   c             C   s<   | d  k r g  } t  | | |  | | | | f t |  <d  S)N)r   r   )rQ   r   r   r   r   r    r    r!   r   G  s    c             C   s   t  |  =d  S)N)r   )rQ   r    r    r!   r   ]  s    c             C   s5   t  j j |   } t  j j |  s1 t  j |  d  S)N)r-   r.   r   rf   rs   )r.   r   r    r    r!   _ensure_directorya  s    r   c       	      C   s  d d  l  } | j |   s+ t d |    | j |   } z x | j   D] } | j } | j d  sJ d | k rw qJ t j j	 | | j
 d   } | s qJ t |  | j d  sJ | j | j  } t | d  } z | j |  Wd  | j   ~ XqJ WWd  | j   Xd  S)Nr   z%s is not a zip file/z..r7   )r   
is_zipfiler"   r   infolistr   r   r-   r.   rg   splitr   r   r%   r?   r&   r   )	r   extract_dirr   r   r   rQ   targetdatafr    r    r!   _unpack_zipfileg  s*    	

r  c             C   sj   d d  l  } y | j |   } Wn% | j k
 rF t d |    Yn Xz | j |  Wd  | j   Xd  S)Nr   z/%s is not a compressed or uncompressed tar file)r   r?   TarErrorr"   
extractallr   )r   r  r   tarobjr    r    r!   _unpack_tarfile  s    r  z.tarz.zipz.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzc             C   sI   xB t  j   D]4 \ } } x% | d D] } |  j |  r$ | Sq$ Wq Wd  S)Nr   )r   r   r   )r   rQ   r   r   r    r    r!   _find_unpack_format  s
    r  c             C   s   | d  k r t  j   } | d  k	 r y t | } Wn' t k
 r[ t d j |    Yn X| d } | |  | t | d   n_ t |   } | d  k r t d j |     t | d } t t | d  } | |  | |  d  S)NzUnknown unpack format '{0}'r   r   zUnknown archive format '{0}')	r-   r   r   r   r   r8   dictr  r"   )r   r  r8   r   r   rU   r    r    r!   r     s    
statvfs
disk_usageusageztotal used freec             C   sV   t  j |   } | j | j } | j | j } | j | j | j } t | | |  S)N)r-   r  f_bavailf_frsizef_blocksf_bfree_ntuple_diskusage)r.   rA   freetotalusedr    r    r!   r    s
    ntc             C   s/   t  j |   \ } } | | } t | | |  S)N)r  Z_getdiskusager  )r.   r  r  r  r    r    r!   r    s    
c             C   s   | d  k r$ | d  k r$ t  d   | } | } | d  k rE d } n< t | t  r t |  } | d  k r t d j |    | d  k r d } n< t | t  s t |  } | d  k r t d j |    t j	 |  | |  d  S)Nzuser and/or group must be setr   zno such user: {!r}zno such group: {!r}r  )
r   r   rv   r   LookupErrorr8   intr   r-   r   )r.   userr   _user_groupr    r    r!   r     s"    		P      c             C   s  y t  t j d  } Wn t t f k
 r7 d } Yn Xy t  t j d  } Wn t t f k
 ro d } Yn X| d k s | d k r y t j t j j    } Wn* t	 t t
 f k
 r t j |   } Yn X| d k r | j } | d k r | j } t j | | f  S)NCOLUMNSr   LINES)r  r-   environr   r   r   r   
__stdout__filenoAttributeErrorr/   terminal_sizecolumnslines)fallbackr*  r+  sizer    r    r!   r     s$    		c                s  d d   } t  j j    r5 |   |  r1   Sd  S| d  k rY t  j j d t  j  } | sc d  S| j t  j  } t j	 d k rt  j
 | k r | j d t  j
  t  j j d d  j t  j  } t   f d d	   | D  r   g } q  f d
 d   | D } n	   g } t   } xr | D]j } t  j j |  } | | k r'| j |  x6 | D]. }	 t  j j | |	  }
 | |
 |  r_|
 Sq_Wq'Wd  S)Nc             S   s5   t  j j |   o4 t  j |  |  o4 t  j j |   S)N)r-   r.   rt   accessrf   )r@   rc   r    r    r!   _access_checkO  s    $zwhich.<locals>._access_checkPATHwin32r   PATHEXTr   c             3   s*   |  ]  }   j    j | j     Vq d  S)N)lowerr   )r   r   )cmdr    r!   	<genexpr>l  s    zwhich.<locals>.<genexpr>c                s   g  |  ] }   |  q Sr    r    )r   r   )r4  r    r!   r   o  s   	 zwhich.<locals>.<listcomp>)r-   r.   r   r%  getdefpathr  pathsepr   platformr   insertanyrl   r0   r   rg   )r4  rc   r.   r/  pathextfilesseendirnormdirthefilerQ   r    )r4  r!   r   B  s8    !		i @  )r   N)r   r   )r   r   )r   r   )r!  r"  )Rr-   r   r9   rj   collectionsrI   zlibr   ImportErrorr   r   lzmar   pwdr   grpr   __all__r/   r   r   r   r   r"   r   r#   r   r4   r   r   r,   rS   r   r   r	   r   r
   r   r   r?   r   r   supports_dir_fdrr   supports_fdrZ   r   r   avoids_symlink_attacksr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r  r   ru   
namedtupler  r  rQ   r  r   r   F_OKX_OKr   r    r    r    r!   <module>   s   


		6	Y!,5	8		@-			
	6"%-