???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    ifS                     @   s  d dl Z d dlZd dlZd dlmZ ejZddddddd	d
dddddddddddgZdd Z	dd Z
dekrdZdZd dlT zd dlmZ ed W n ek
r   Y nX d dlZzd dlmZ W n ek
r   Y nX d dlZee
e [nd ekrd Zd!Zd dlT zd dlmZ ed W n ek
r>   Y nX d dlZd dlZee
e [zd dlmZ W n ek
r   Y nX ned"eejd#< d d$lmZmZmZmZmZmZmZm Z  [e	d%re! Z"d&d' Z#e$ Z%e#d(d) e#d*d+ e#d,d- e#d.d/ e#d0d1 e#d2d3 e#d4d5 e#d6d7 e#d8d9 e#d:d; e#d<d= e#d>d? e#d@dA e#dBdC e#dBdD e#dEd1 e%Z&e$ Z%e#d(d) e%Z'e$ Z%e#dFdG e#dHd+ e#dId- e#dJdK e#dJdL e#dMdN e%(e e#dOdP e#dQd1 e#dRd1 e#dSdT e	dUr.e	dVr.e#dWdU e%Z)e$ Z%e#d(d) e#d,d- e#d.d/ e#dXdY e#dZd+ e	d[r~e#d\d- e#d2d3 e#d]d1 e#d^d/ e#d.d/ e#dEd1 e#d_d/ e%Z*[%[["[#d Z+d`Z,daZ-ddddeZ.dfdg Z/dhdi Z0ededgdig ddkdlZ1edl e2ehe&krPe3ehe)krPddcddndodpZ4dqdr Z5edp dsdt Z6dudv Z7dwdx Z8dydz Z9d{d| Z:d}d~ Z;edtdvdxdzd|d~g dddZ<dddZ=d dlm>Z> G dd de>Z?ze@ZAW n eBk
r   dd ZAY nX dekred zeCZDW n eBk
r(   dd ZDY nX dekr>ed dd ZEeE ZF[EdddZGed kZHed eHrdd ZIe?eFjJeIeKeIeKeAeDZL[IdddZMed dd ZNeN \ZOZP[Ne	dr,e	ds,e	dr,d ZQd` ZRZSedddg dd ZTdd ZUdd ZVdd ZWdd ZXeddddg e	drTdd ZYdd ZZeddg e	dr|dd Z[dd Z\eddg dddZ]G dd dZ^dd Z_dd Z`e	dse`Zadea_bG dd de jcZded krG dd dZedd ZfdS )    N)_check_methodsaltsepcurdirpardirseppathseplinesepdefpathnamepathdevnullSEEK_SETSEEK_CURSEEK_ENDfsencodefsdecodeget_exec_pathfdopenpopenextsepc                 C   s
   | t  kS N)globals)r
    r   '/opt/alt/python38/lib64/python3.8/os.py_exists'   s    r   c                 C   s8   zt | jW S  tk
r2   dd t| D  Y S X d S )Nc                 S   s   g | ]}|d  dkr|qS )r   _r   ).0nr   r   r   
<listcomp>.   s      z%_get_exports_list.<locals>.<listcomp>)list__all__AttributeErrordir)moduler   r   r   _get_exports_list*   s    r$   posix
)*)_exitr(   )_have_functionsntz
zno os specific module foundzos.path)r   r   r   r   r	   r   r   r   r)   c                 C   s"   |t kr| tkrtt |  d S r   )_globalsr)   _setadd)strfnr   r   r   _addf   s    r0   ZHAVE_FACCESSATaccessZHAVE_FCHMODATchmodZHAVE_FCHOWNATchownZHAVE_FSTATATstatZHAVE_FUTIMESATutimeZHAVE_LINKATlinkZHAVE_MKDIRATmkdirZHAVE_MKFIFOATmkfifoZHAVE_MKNODATmknodZHAVE_OPENATopenZHAVE_READLINKATreadlinkZHAVE_RENAMEATrenameZHAVE_SYMLINKATsymlinkZHAVE_UNLINKATunlinkrmdirZHAVE_UTIMENSATZHAVE_FCHDIRchdirZHAVE_FCHMODZHAVE_FCHOWNZHAVE_FDOPENDIRlistdirscandirZHAVE_FEXECVEexecveZHAVE_FTRUNCATEtruncateZHAVE_FUTIMENSZHAVE_FUTIMESZHAVE_FPATHCONFpathconfstatvfsfstatvfsZHAVE_FSTATVFSZHAVE_LCHFLAGSZchflagsZHAVE_LCHMODlchownZHAVE_LCHOWNZHAVE_LUTIMESZ
HAVE_LSTATZ
MS_WINDOWS        Fc                 C   s   t | \}}|s t |\}}|r||r|t |s|zt||d W n tk
rV   Y nX t}t|trpttd}||kr|d S zt| | W n$ t	k
r   |rt 
| s Y nX d S )N)exist_okASCII)r   splitexistsmakedirsFileExistsErrorr   
isinstancebytesr7   OSErrorisdir)r
   moderL   headtailcdirr   r   r   rP      s$    


rP   c                 C   sj   t |  t| \}}|s(t|\}}|rf|rfzt | W n tk
rT   Y qfY nX t|\}}q(d S r   )r?   r   rN   rT   )r
   rW   rX   r   r   r   
removedirs   s    
rZ   c                 C   sn   t |\}}|r(|r(t |s(t| t| | t | \}}|rj|rjzt| W n tk
rh   Y nX d S r   )r   rN   rO   rP   r<   rZ   rT   )oldnewrW   rX   r   r   r   renames   s    
r]   Tc                 c   s  t | } g }g }g }zt| }W n8 tk
rX } z|d k	rB|| W Y d S d }~X Y nX | z.zt|}	W n tk
r   Y W qpY nX W nB tk
r } z$|d k	r|| W Y W 5 Q R  d S d }~X Y nX z|	 }
W n tk
 r   d}
Y nX |
r||	j n||	j |sb|
rb|r0d}n.z|	 }W n tk
rV   d}Y nX | }|rb||	j	 qbW 5 Q R X |r| ||fV  t	j
t	j }}|D ]4}|| |}|s||st||||E d H  qn,|D ]}t||||E d H  q| ||fV  d S )NFT)fspathrB   rT   nextStopIterationis_dirappendr
   
is_symlinkr   islinkjoinwalk)toptopdownonerrorfollowlinksdirsnondirs	walk_dirs
scandir_iterrorentryra   	walk_intorc   rd   re   dirnamenew_pathr   r   r   rf     s^    ;"


rf   .follow_symlinksdir_fdc                c   s   t | trt| dst| } |s.t| d|d}t| t|d}zB|s^t	|j
r|t|t|r|t|| t | t|||E d H  W 5 t| X d S )N	__index__Fru   rw   )rR   inthasattrr^   r4   r:   O_RDONLYclosestS_ISDIRst_moder   samestat_fwalkrS   )rg   rh   ri   rv   rw   orig_sttopfdr   r   r   fwalk  s    !  r   c                 c   s  t | }g }g }|s|rd ng }	|D ]}
|
j}|r:t|}z4|
 rb|| |	d k	rl|	|
 n
|| W q$ tk
r   z|
 r|| W n tk
r   Y nX Y q$X q$|r|||| fV  |	d kr|nt||	D ]}z@|s|rt|| dd}n|\}}
|
jdd}t	|t
| d}W n> tk
r\ } z|d k	rD|| W Y qW 5 d }~X Y nX z@|sxt|t|rt||}t||||||E d H  W 5 t| X q|s|||| fV  d S )NF)rw   rv   )rv   ry   )rB   r
   r   ra   rb   rT   rc   zipr4   r:   r|   r}   r   r   re   r   )r   toppathisbytesrh   ri   rv   rn   rk   rl   entriesrp   r
   r   dirfderrdirpathr   r   r   r     sZ    

  r   c                 G   s   t | | d S r   )execvfileargsr   r   r   execl  s    r   c                 G   s    |d }t | |d d | d S N)rC   r   r   envr   r   r   execle  s    r   c                 G   s   t | | d S r   )execvpr   r   r   r   execlp"  s    r   c                 G   s    |d }t | |d d | d S r   )execvper   r   r   r   execlpe)  s    r   c                 C   s   t | | d S r   _execvper   r   r   r   r   2  s    r   c                 C   s   t | || d S r   r   r   r   r   r   r   :  s    r   c                 C   s   |d k	rt }||f}nt}|f}t}t| r@|| f|  d S d }t|}tdkrft| } tt|}|D ]~}t	|| }z||f|  W qj t
tfk
r }	 z|	}
W 5 d }	~	X Y qj tk
r }	 z|	}
|d kr|	}W 5 d }	~	X Y qjX qj|d k	r||
d S )Nr*   )rC   r   environr   rr   r   r
   r   mapre   FileNotFoundErrorNotADirectoryErrorrT   )r   r   r   	exec_funcargrest	saved_exc	path_listr"   fullnameelast_excr   r   r   r   E  s6    


r   c              
   C   s   dd l }| d krt} |  |dt z| d}W n tk
rP   d }Y nX trz| d }W n ttfk
rz   Y nX |d k	rt	d|}|d k	rt
|trt|}W 5 Q R X |d krt}|tS )Nr   ignorePATHs   PATHz*env cannot contain 'PATH' and b'PATH' keys)warningsr   catch_warningssimplefilterBytesWarningget	TypeErrorsupports_bytes_environKeyError
ValueErrorrR   rS   r   r	   rN   r   )r   r   r   
path_listbr   r   r   r   e  s0    


)MutableMappingc                   @   sT   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdS )_Environc                 C   s.   || _ || _|| _|| _|| _|| _|| _d S r   )	encodekey	decodekeyencodevaluedecodevalueputenvunsetenv_data)selfdatar   r   r   r   r   r   r   r   r   __init__  s    z_Environ.__init__c                 C   s>   z| j | | }W n tk
r2   t|d Y nX | |S r   )r   r   r   r   r   keyvaluer   r   r   __getitem__  s
    z_Environ.__getitem__c                 C   s.   |  |}| |}| || || j|< d S r   )r   r   r   r   r   r   r   r   __setitem__  s    

z_Environ.__setitem__c                 C   sD   |  |}| | z| j|= W n tk
r>   t|d Y nX d S r   )r   r   r   r   )r   r   
encodedkeyr   r   r   __delitem__  s    

z_Environ.__delitem__c                 c   s$   t | j}|D ]}| |V  qd S r   )r   r   r   )r   keysr   r   r   r   __iter__  s    
z_Environ.__iter__c                 C   s
   t | jS r   )lenr   r   r   r   r   __len__  s    z_Environ.__len__c                    s$   d d fdd j D S )Nzenviron({{{}}})z, c                 3   s*   | ]"\}}d   | |V  qdS )z
{!r}: {!r}N)formatr   r   )r   r   r   r   r   r   	<genexpr>  s   z$_Environ.__repr__.<locals>.<genexpr>)r   re   r   itemsr   r   r   r   __repr__  s
    
z_Environ.__repr__c                 C   s   t | S r   )dictr   r   r   r   copy  s    z_Environ.copyc                 C   s   || kr|| |< | | S r   r   r   r   r   r   
setdefault  s    z_Environ.setdefaultN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   r   r   r     s   		r   c                 C   s   d S r   r   )r   r   r   r   r   <lambda>      r   r   c                 C   s
   t | dS )N )_putenvr   r   r   r   r     r   r   c                     s   t dkrHdd } |  t} fdd}i }t D ]\}}||||< q0n(t fdd fdd	} }t}t||| |ttS )
Nr*   c                 S   s    t | tstdt| j | S )Nstr expected, not %s)rR   r.   r   typer   r   r   r   r   	check_str  s    
z!_createenviron.<locals>.check_strc                    s    |   S r   )upperr   )encoder   r   r     s    z!_createenviron.<locals>.encodekeyc                    s(   t | tstdt| j |  dS )Nr   surrogateescape)rR   r.   r   r   r   r   r   encodingr   r   r     s    
z_createenviron.<locals>.encodec                    s   |   dS )Nr   )decoder   r   r   r   r     s    z_createenviron.<locals>.decode)	r
   r.   r   r   sysgetfilesystemencodingr   r   	_unsetenv)r   r   r   r   r   r   r   )r   r   r   _createenviron  s*       r   c                 C   s   t | |S r   )r   r   r   defaultr   r   r   getenv  s    r   )r   r   c                 C   s    t | tstdt| j | S )Nzbytes expected, not %s)rR   rS   r   r   r   r   r   r   r   _check_bytes  s    
r   c                 C   s   t | |S r   )environbr   r   r   r   r   getenvb  s    r   )r   r   c                     s4   t   t   fdd}  fdd}| |fS )Nc                    s&   t | } t| tr|  S | S d S r   )r^   rR   r.   r   filenamer   errorsr   r   r      s    
z_fscodec.<locals>.fsencodec                    s&   t | } t| tr|  S | S d S r   )r^   rR   rS   r   r   r   r   r   r   ,  s    
z_fscodec.<locals>.fsdecode)r   r   getfilesystemencodeerrors)r   r   r   r   r   _fscodec  s
    r   forkspawnvr   P_WAITP_NOWAIT	P_NOWAITOc                 C   s   t |ttfstd|r"|d s*tdt }|spz$|d krJ||| n|||| W q   td Y qX nR| tkr||S t|d\}}t	|rq|q|t
|rt| S t|rt|S tdq|d S )Nzargv must be a tuple or a listr   z"argv first element cannot be empty   z"Not stopped, signaled or exited???)rR   tupler   r   r   r   r(   r   waitpid
WIFSTOPPEDWIFSIGNALEDWTERMSIG	WIFEXITEDWEXITSTATUSrT   )rV   r   r   r   funcpidwpidstsr   r   r   	_spawnvefI  s,    
r  c                 C   s   t | ||d tS r   )r  r   rV   r   r   r   r   r   r   h  s    c                 C   s   t | |||tS r   )r  rC   rV   r   r   r   r   r   r   spawnveq  s    r	  c                 C   s   t | ||d tS r   )r  r   r  r   r   r   spawnvp}  s    r
  c                 C   s   t | |||tS r   )r  r   r  r   r   r   spawnvpe  s    r  c                 G   s   t | ||S r   )r   r  r   r   r   spawnl  s    r  c                 G   s   |d }t | ||d d |S r   )r	  r  r   r   r   spawnle  s    r  c                 G   s   t | ||S r   )r
  r  r   r   r   spawnlp  s    r  c                 G   s   |d }t | ||d d |S r   )r  r  r   r   r   spawnlpe  s    r  rr   c                 C   s   t | tstdt|  |dkr.td| |dks>|d krFtddd l}dd l}|dkr|j| d|j|d}t	|
|j|S |j| d|j|d	}t	|
|j|S d S )
Nz&invalid cmd type (%s, expected string))r  wzinvalid mode %rr   z+popen() does not support unbuffered streamsr  T)shellstdoutbufsize)r  stdinr  )rR   r.   r   r   r   
subprocessioPopenPIPE_wrap_closeTextIOWrapperr  r  )cmdrV   	bufferingr  r  procr   r   r   r     s(    
c                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )r  c                 C   s   || _ || _d S r   )_stream_proc)r   streamr  r   r   r   r     s    z_wrap_close.__init__c                 C   s8   | j   | j }|dkr d S tdkr,|S |d> S d S )Nr   r*      )r  r}   r   waitr
   )r   
returncoder   r   r   r}     s    

z_wrap_close.closec                 C   s   | S r   r   r   r   r   r   	__enter__  s    z_wrap_close.__enter__c                 G   s   |    d S r   r}   r   r   r   r   r   __exit__  s    z_wrap_close.__exit__c                 C   s   t | j|S r   )getattrr  )r   r
   r   r   r   __getattr__  s    z_wrap_close.__getattr__c                 C   s
   t | jS r   )iterr  r   r   r   r   r     s    z_wrap_close.__iter__N)	r   r   r   r   r}   r%  r(  r*  r   r   r   r   r   r    s   	r  c                 O   s4   t | tstdt|  dd l}|j| f||S )Nz&invalid fd type (%s, expected integer)r   )rR   rz   r   r   r  r:   )fdr   kwargsr  r   r   r   r     s    
c                 C   s   t | ttfr| S t| }z|| }W n0 tk
rX   t|drF ntd|j Y nX t |ttfrl|S td	|jt|jd S )N
__fspath__z/expected str, bytes or os.PathLike object, not z7expected {}.__fspath__() to return str or bytes, not {})
rR   r.   rS   r   r.  r!   r{   r   r   r   )r   	path_type	path_reprr   r   r   _fspath  s"    
r1  r^   c                   @   s&   e Zd Zejdd Zedd ZdS )PathLikec                 C   s   t d S r   )NotImplementedErrorr   r   r   r   r.  ,  s    zPathLike.__fspath__c                 C   s   | t krt|dS tS )Nr.  )r2  r   NotImplemented)clssubclassr   r   r   __subclasshook__1  s    
zPathLike.__subclasshook__N)r   r   r   abcabstractmethodr.  classmethodr7  r   r   r   r   r2  (  s   
r2  c                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )_AddedDllDirectoryc                 C   s   || _ || _|| _d S r   )r   _cookie_remove_dll_directory)r   r   cookieZremove_dll_directoryr   r   r   r   :  s    z_AddedDllDirectory.__init__c                 C   s   |  | j d | _d S r   )r=  r<  r   r   r   r   r   r}   >  s    z_AddedDllDirectory.closec                 C   s   | S r   r   r   r   r   r   r%  A  s    z_AddedDllDirectory.__enter__c                 G   s   |    d S r   r&  r'  r   r   r   r(  C  s    z_AddedDllDirectory.__exit__c                 C   s   | j rd| j S dS )Nz<AddedDllDirectory({!r})>z<AddedDllDirectory()>)r   r   r   r   r   r   r   E  s    z_AddedDllDirectory.__repr__N)r   r   r   r   r}   r%  r(  r   r   r   r   r   r;  9  s
   r;  c                 C   s    dd l }|| }t| ||jS )Nr   )r*   Z_add_dll_directoryr;  r=  )r   r*   r>  r   r   r   add_dll_directoryJ  s    

r?  )rK   F)TNF)rt   TN)N)N)N)N)r  r   )gr8  r   r4   r~   _collections_abcr   builtin_module_namesZ_namesr    r   r$   r
   r   r%   r(   rb   ImportError	posixpathr   r)   extendr*   ZntpathmodulesZos.pathr   r   r   r   r	   r   r   r   r   r+   r0   setr,   supports_dir_fdsupports_effective_idsr-   supports_fdsupports_follow_symlinksr   r   r   rP   rZ   r]   rf   r:   rB   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	NameErrorr   r   r   r   r   r   r   r   rS   r   r   r   r   r   r   r   r   r  r   r	  r
  r  r  r  r  r  r   r  r   r1  r^   r   ABCr2  r;  r?  r   r   r   r   <module>   s            

(











































 
 
08
		
 
-7





   


	

	


	

