
    Rhm                     6   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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"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Z0dZ1dZ2dZ3dZ4dZ5dZ6d	Z7d'Z8d&Z9dZ:d(Z;d)Z<d*Z=d+Z>d,Z?ed-fed.fed/fed0fed1fed2fed3ffe)d4ffe*d5ffe+e!z  d.fe!d6fe+d7ffe-d4ffe.d5ffe/e"z  d.fe"d6fe/d7ffe1d4ffe2d5ffe3e$z  d8fe$d9fe3d7fff
Z@d: ZAd&ZBdZCd#ZDd'ZEdZFdZGdZHd"ZIdZJd)ZKdZLdZMdZNd ZOdZPd!ZQd(ZR	 dd;lS y<# eT$ r Y y<w xY w)=zoConstants/functions for interpreting results of os.stat() and os.lstat().

Suggested usage: from stat import *
                            	   c                     | dz  S )zMReturn the portion of the file's mode that can be set by
    os.chmod().
    i   modes    /usr/lib/python3.12/stat.pyS_IMODEr      s     &=    c                     | dz  S )zLReturn the portion of the file's mode that describes the
    file type.
    i   r   r   s    r   S_IFMTr      s     (?r   i @  i    i `  i   i   i   i   c                 &    t        |       t        k(  S )z(Return True if mode is from a directory.)r   S_IFDIRr   s    r   S_ISDIRr   2       $<7""r   c                 &    t        |       t        k(  S )z<Return True if mode is from a character special device file.)r   S_IFCHRr   s    r   S_ISCHRr   6   r   r   c                 &    t        |       t        k(  S )z8Return True if mode is from a block special device file.)r   S_IFBLKr   s    r   S_ISBLKr   :   r   r   c                 &    t        |       t        k(  S )z+Return True if mode is from a regular file.)r   S_IFREGr   s    r   S_ISREGr!   >   r   r   c                 &    t        |       t        k(  S )z0Return True if mode is from a FIFO (named pipe).)r   S_IFIFOr   s    r   S_ISFIFOr$   B   r   r   c                 &    t        |       t        k(  S )z,Return True if mode is from a symbolic link.)r   S_IFLNKr   s    r   S_ISLNKr'   F   r   r   c                 &    t        |       t        k(  S )z%Return True if mode is from a socket.)r   S_IFSOCKr   s    r   S_ISSOCKr*   J   s    $<8##r   c                      y)z#Return True if mode is from a door.Fr   r   s    r   S_ISDOORr,   N       r   c                      y)z*Return True if mode is from an event port.Fr   r   s    r   S_ISPORTr/   R   r-   r   c                      y)z'Return True if mode is from a whiteout.Fr   r   s    r   S_ISWHTr1   V   r-   r   i   i   i         @   i  8          i   i   i   i   i    ls-bdcprwSxtTc                     g }t         D ]8  }|D ]   \  }}| |z  |k(  s|j                  |        ' |j                  d       : dj                  |      S )z;Convert a file's mode to a string of the form '-rwxrwxrwx'.r:    )_filemode_tableappendjoin)r   permtablebitchars        r   filemoderN      sb    D   	ICczS D!	
 KK 774=r   )*N)U__doc__ST_MODEST_INOST_DEVST_NLINKST_UIDST_GIDST_SIZEST_ATIMEST_MTIMEST_CTIMEr   r   r   r   r   r    r#   r&   r)   S_IFDOORS_IFPORTS_IFWHTr   r   r   r!   r$   r'   r*   r,   r/   r1   S_ISUIDS_ISGIDS_ENFMTS_ISVTXS_IREADS_IWRITES_IEXECS_IRWXUS_IRUSRS_IWUSRS_IXUSRS_IRWXGS_IRGRPS_IWGRPS_IXGRPS_IRWXOS_IROTHS_IWOTHS_IXOTH	UF_NODUMPUF_IMMUTABLE	UF_APPEND	UF_OPAQUEUF_NOUNLINKUF_COMPRESSED	UF_HIDDENSF_ARCHIVEDSF_IMMUTABLE	SF_APPENDSF_NOUNLINKSF_SNAPSHOTrG   rN   FILE_ATTRIBUTE_ARCHIVEFILE_ATTRIBUTE_COMPRESSEDFILE_ATTRIBUTE_DEVICEFILE_ATTRIBUTE_DIRECTORYFILE_ATTRIBUTE_ENCRYPTEDFILE_ATTRIBUTE_HIDDENFILE_ATTRIBUTE_INTEGRITY_STREAMFILE_ATTRIBUTE_NORMAL"FILE_ATTRIBUTE_NOT_CONTENT_INDEXEDFILE_ATTRIBUTE_NO_SCRUB_DATAFILE_ATTRIBUTE_OFFLINEFILE_ATTRIBUTE_READONLYFILE_ATTRIBUTE_REPARSE_POINTFILE_ATTRIBUTE_SPARSE_FILEFILE_ATTRIBUTE_SYSTEMFILE_ATTRIBUTE_TEMPORARYFILE_ATTRIBUTE_VIRTUAL_statImportErrorr   r   r   <module>r      s    
######$ 
















 					 sssssss ssgosss ssgosss ssgosss/8
          "'  %) "%   #      	 		s   
D DD