3 �L�j�� @s�ddlZddlZdddddddd d d d d g Zdd�Zdd �Zdd�Zdd�Zdd�Zdd�Zdd�Z dd�Z dd �Z dd �Z dd �Z dd�Zdd�ZejGdd �d ��ZdS)�N� commonprefix�exists�getatime�getctime�getmtime�getsize�isdir�isfile�samefile� sameopenfile�samestat� ALLOW_MISSINGc Cs(ytj|�Wntk r"dSXdS)NFT)�os�stat�OSError)�path�r�#/usr/lib64/python3.6/genericpath.pyrs c Cs0ytj|�}Wntk r"dSXtj|j�S)NF)rrr�S_ISREG�st_mode)r�strrrr s c Cs0ytj|�}Wntk r"dSXtj|j�S)NF)rrr�S_ISDIRr)�srrrrr's cCs tj|�jS)N)rr�st_size)�filenamerrrr0scCs tj|�jS)N)rr�st_mtime)rrrrr5scCs tj|�jS)N)rr�st_atime)rrrrr:scCs tj|�jS)N)rr�st_ctime)rrrrr?scCsl|sdSt|dttf�s*tttj|��}t|�}t|�}x,t|�D] \}}|||krD|d|�SqDW|S)N�r) � isinstance�list�tuple�mapr�fspath�min�max� enumerate)�m�s1�s2�i�crrrrEs cCs|j|jko|j|jkS)N)�st_ino�st_dev)r(r)rrrr Ws cCstj|�}tj|�}t||�S)N)rrr )�f1�f2r(r)rrrr ^s  cCstj|�}tj|�}t||�S)N)r�fstatr )�fp1�fp2r(r)rrrr gs  cCs�|j|�}|r"|j|�}t||�}|j|�}||kr~|d}x@||kr||||d�|krr|d|�||d�fS|d7}q>W||dd�fS)N�r)�rfindr%)�p�sep�altsep�extsep�sepIndex� altsepIndex�dotIndex� filenameIndexrrr� _splitextus      r=cGsbd}}xB|D]:}t|t�r"d}qt|t�r2d}qtd||jjf�d�qW|r^|r^td�d�dS)NFTz*%s() argument must be str or bytes, not %rz.Can't mix strings and bytes in path components)r�str�bytes� TypeError� __class__�__name__)�funcname�args�hasstr�hasbytesrrrr�_check_arg_types�s   rGc@seZdZdd�Zdd�ZdS)r cCsdS)Nzos.path.ALLOW_MISSINGr)�selfrrr�__repr__�szALLOW_MISSING.__repr__cCs|jjS)N)rArB)rHrrr� __reduce__�szALLOW_MISSING.__reduce__N)rB� __module__� __qualname__rIrJrrrrr �s)rr�__all__rr rrrrrrr r r r=rG�object�__new__r rrrr�s$