£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
a
    XC?hb                     @   sl   d dl Z d dlZd dlmZmZ d dlmZ i adddZddd	Z	dd
dZ
dd ZdddZdd ZdS )    N)DistutilsFileErrorDistutilsInternalError)log     c                 C   sh  t | tstd| f tj| } g }tj| s<| dkr@|S ttj	| rV|S tj
| \}}|g}|r|rtj|stj
|\}}|d| ql|D ]}tj||}tj	|}	t|	rq|dkrtd| |sZzt|| W nX tyN }
 z>|
jtjkr$tj|s:td||
jd f W Y d }
~
n
d }
~
0 0 || dt|	< q|S )Nz(mkpath: 'name' must be a string (got %r) r   r   zcreating %szcould not create '%s': %s)
isinstancestrr   ospathnormpathisdir_path_createdgetabspathsplitinsertjoinr   infomkdirOSErrorerrnoZEEXISTr   argsappend)namemodeverbosedry_runZcreated_dirsheadtailZtailsdZabs_headexc r#   7/opt/alt/python39/lib64/python3.9/distutils/dir_util.pymkpath   sB    



r%   c              	   C   sN   t  }|D ] }|tj| tj| q
t|D ]}t||||d q4d S )Nr   r   )setaddr   r   r   dirnamesortedr%   )Zbase_dirfilesr   r   r   Zneed_dirfiledirr#   r#   r$   create_treeP   s
    r.   c                 C   sb  ddl m} |s(tj| s(td|  zt| }	W n@ tyv }
 z(|rPg }	ntd| |
jf W Y d }
~
n
d }
~
0 0 |st	||d g }|	D ]}tj
| |}tj
||}|drq|rtj|rt|}|dkrtd|| |st|| || qtj|r<|t||||||||d	 q||||||||d	 || q|S )
Nr   )	copy_filez&cannot copy tree '%s': not a directoryzerror listing files in '%s': %s)r   z.nfsr   zlinking %s -> %sr&   )Zdistutils.file_utilr/   r   r   r   r   listdirr   strerrorr%   r   
startswithislinkreadlinkr   r   symlinkr   extend	copy_tree)srcZdstZpreserve_modeZpreserve_timesZpreserve_symlinksupdater   r   r/   nameseZoutputsnZsrc_nameZdst_nameZ	link_destr#   r#   r$   r7   c   sR    

r7   c                 C   sf   t | D ]F}t j| |}t j|r@t j|s@t|| q
|t j|f q
|t j	| f d S )N)
r   r0   r   r   r   r3   _build_cmdtupler   removermdir)r   	cmdtuplesfZreal_fr#   r#   r$   r=      s    r=   c                 C   s   |dkrt d|  |rd S g }t| | |D ]j}z2|d |d  tj|d }|tv rbt|= W q. ty } zt d| | W Y d }~q.d }~0 0 q.d S )Nr   z'removing '%s' (and everything under it)r   zerror removing %s: %s)	r   r   r=   r   r   r   r   r   warn)Z	directoryr   r   r@   cmdr   r"   r#   r#   r$   remove_tree   s    

rD   c                 C   s6   t j| \}} | dd t jkr2|| dd   } | S )Nr   r   )r   r   
splitdrivesep)r   Zdriver#   r#   r$   ensure_relative   s    rG   )r   r   r   )r   r   r   )r   r   r   r   r   r   )r   r   )r   r   Zdistutils.errorsr   r   Z	distutilsr   r   r%   r.   r7   r=   rD   rG   r#   r#   r#   r$   <module>   s   
?
  
E

