B
    wÿ2[®  ã               @   s"  d Z dZdZdZdZdZdZdZdZd	Z	d
Z
dd„ Zdd„ ZdZdZdZdZdZd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$Zd%ZeZd&Zd'Zd(Z d)Z!d*Z"d'Z#d(Z$d)Z%d+Z&d,Z'd-Z(d	Z)dZ*dZ+dZ,dZ-dZ.dZ/dZ0d	Z1d-Z2d,Z3dZ4d.Z5d/Z6d0Z7d1Z8d2Z9ed3fed4fed5fed6fed7fed8ffe#d9ffe$d:ffe%eB d;fed<fe%d=ffe'd9ffe(d:ffe)eB d;fed<fe)d=ffe+d9ffe,d:ffe-eB d>fed?fe-d=fff
Z:d@dA„ Z;d,Z<d$Z=d)Z>d-Z?dZ@dZAdZBd(ZCdZDd/ZEdZFdZGd%ZHd&ZIdZJd'ZKd.ZLyddBlMT W n eNk
r   Y nX dCS )DzoConstants/functions for interpreting results of os.stat() and os.lstat().

Suggested usage: from stat import *
é    é   é   é   é   é   é   é   é   é	   c             C   s   | d@ S )zMReturn the portion of the file's mode that can be set by
    os.chmod().
    iÿ  © )Úmoder   r   ú/root/Python-3.7.0/Lib/stat.pyÚS_IMODE   s    r   c             C   s   | d@ S )zLReturn the portion of the file's mode that describes the
    file type.
    i ð  r   )r   r   r   r   ÚS_IFMT   s    r   i @  i    i `  i €  i   i    i À  c             C   s   t | ƒtkS )z(Return True if mode is from a directory.)r   ÚS_IFDIR)r   r   r   r   ÚS_ISDIR.   s    r   c             C   s   t | ƒtkS )z<Return True if mode is from a character special device file.)r   ÚS_IFCHR)r   r   r   r   ÚS_ISCHR2   s    r   c             C   s   t | ƒtkS )z8Return True if mode is from a block special device file.)r   ÚS_IFBLK)r   r   r   r   ÚS_ISBLK6   s    r   c             C   s   t | ƒtkS )z+Return True if mode is from a regular file.)r   ÚS_IFREG)r   r   r   r   ÚS_ISREG:   s    r   c             C   s   t | ƒtkS )z0Return True if mode is from a FIFO (named pipe).)r   ÚS_IFIFO)r   r   r   r   ÚS_ISFIFO>   s    r   c             C   s   t | ƒtkS )z,Return True if mode is from a symbolic link.)r   ÚS_IFLNK)r   r   r   r   ÚS_ISLNKB   s    r   c             C   s   t | ƒtkS )z%Return True if mode is from a socket.)r   ÚS_IFSOCK)r   r   r   r   ÚS_ISSOCKF   s    r   i   i   i   é   é€   é@   iÀ  é8   é    é   i   i   i   i   i    Úlú-ÚbÚdÚcÚpÚrÚwÚsÚSÚxÚtÚTc             C   sP   g }x@t D ]8}x2|D ] \}}| |@ |kr| |¡ P qW | d¡ q
W d |¡S )z;Convert a file's mode to a string of the form '-rwxrwxrwx'.r%   Ú )Ú_filemode_tableÚappendÚjoin)r   ZpermÚtableÚbitÚcharr   r   r   Úfilemode‹   s    

r8   )Ú*N)OÚ__doc__ZST_MODEZST_INOZST_DEVZST_NLINKZST_UIDZST_GIDZST_SIZEZST_ATIMEZST_MTIMEZST_CTIMEr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ZS_ISUIDZS_ISGIDZS_ENFMTZS_ISVTXZS_IREADZS_IWRITEZS_IEXECZS_IRWXUZS_IRUSRZS_IWUSRZS_IXUSRZS_IRWXGZS_IRGRPZS_IWGRPZS_IXGRPZS_IRWXOZS_IROTHZS_IWOTHZS_IXOTHZ	UF_NODUMPZUF_IMMUTABLEZ	UF_APPENDZ	UF_OPAQUEZUF_NOUNLINKZUF_COMPRESSEDZ	UF_HIDDENZSF_ARCHIVEDZSF_IMMUTABLEZ	SF_APPENDZSF_NOUNLINKZSF_SNAPSHOTr2   r8   ZFILE_ATTRIBUTE_ARCHIVEZFILE_ATTRIBUTE_COMPRESSEDZFILE_ATTRIBUTE_DEVICEZFILE_ATTRIBUTE_DIRECTORYZFILE_ATTRIBUTE_ENCRYPTEDZFILE_ATTRIBUTE_HIDDENZFILE_ATTRIBUTE_INTEGRITY_STREAMZFILE_ATTRIBUTE_NORMALZ"FILE_ATTRIBUTE_NOT_CONTENT_INDEXEDZFILE_ATTRIBUTE_NO_SCRUB_DATAZFILE_ATTRIBUTE_OFFLINEZFILE_ATTRIBUTE_READONLYZFILE_ATTRIBUTE_REPARSE_POINTZFILE_ATTRIBUTE_SPARSE_FILEZFILE_ATTRIBUTE_SYSTEMZFILE_ATTRIBUTE_TEMPORARYZFILE_ATTRIBUTE_VIRTUALZ_statÚImportErrorr   r   r   r   Ú<module>   sÈ   	


