
    i                     @   S SK r S SKrSSKJrJr  \R
                  r\R                  r\R                  r
\R                  r\R                  r\R                  =(       a    S=(       d    SrSrSrS rSS	 jrSS
 jrSS jrSS jrSS jrSS jrSS jrSS jrSS jrg)    N   )libffizuser. zcom.apple.FinderInfozcom.apple.ResourceForkc                 p    [        U [        5      (       d!  [        S[        U 5      R                  -  5      eg )Nz#Value must be bytes, %s was passed.)
isinstancebytes	TypeErrortype__name__)vals    6/app/mltbenv/lib/python3.13/site-packages/xattr/lib.py_check_bytesr      s3    c5!!1DI4F4FF
 	
 "    c                     [         R                  n[        R                  " [         R                  5      nU (       a  [	        XU 5      e[	        X5      eN)r   errnoosstrerrorIOError)pathr   r   s      r   errorr      s8    IIE{{399%Het,,e&&r   c                    [         R                  " U 5      n [         R                  " U5      nUS:X  a:  [        R                  " X[        R
                  SX45      nUS:X  a  [        U 5      eUn[        R                  " SU5      n[        R                  " XXbX45      nUS:X  a  [        U 5      e[        R                  " U5      SU $ )z<
getxattr(path, name, size=0, position=0, options=0) -> str
r   char[]N)	r   fsencoder   xattr_getxattrr   NULLr   newbuffer)r   namesizepositionoptionsresbufs          r   	_getxattrr'   !   s     ;;tD;;tDqy  SXXq(L"9+
''(D
!C


TH
FC
byDk::c?4C  r   c                 \   [         R                  " U5      nUS:X  a9  [        R                  " X[        R
                  SX45      nUS:X  a
  [        5       eUn[        R                  " SU5      n[        R                  " XXbX45      nUS:X  a
  [        5       e[        R                  " U5      SU $ )z;
fgetxattr(fd, name, size=0, position=0, options=0) -> str
r   r   r   N)	r   r   r   xattr_fgetxattrr   r   r   r   r    )fdr!   r"   r#   r$   r%   r&   s          r   
_fgetxattrr+   3   s     ;;tDqy!!"CHHaK"9'M
''(D
!C


b8
EC
byg::c?4C  r   c                     [        U5        [        R                  " U 5      n [        R                  " U5      n[        R                  " XU[        U5      X45      nU(       a  [        U 5      eg)z<
setxattr(path, name, value, position=0, options=0) -> None
N)r   r   r   r   xattr_setxattrlenr   )r   r!   valuer#   r$   r%   s         r   	_setxattrr0   D   sT     ;;tD;;tD


TE
H
NC
Dk r   c                     [        U5        [        R                  " U5      n[        R                  " XU[        U5      X45      nU(       a
  [        5       eg)z;
fsetxattr(fd, name, value, position=0, options=0) -> None
N)r   r   r   r   xattr_fsetxattrr.   r   )r*   r!   r/   r#   r$   r%   s         r   
_fsetxattrr3   P   sC     ;;tD


bs5z8
MC
g r   c                     [         R                  " U 5      n [         R                  " U5      n[        R                  " XU5      nU(       a  [	        U 5      eg)z,
removexattr(path, name, options=0) -> None
N)r   r   r   xattr_removexattrr   )r   r!   r$   r%   s       r   _removexattrr6   [   sD     ;;tD;;tD


G
4C
Dk r   c                     [         R                  " U5      n[        R                  " XU5      nU(       a
  [	        5       eg)z+
fremovexattr(fd, name, options=0) -> None
N)r   r   r   xattr_fremovexattrr   )r*   r!   r$   r%   s       r   _fremovexattrr9   f   s3     ;;tD

 
 7
3C
g r   c                 \   [         R                  " U 5      n [        R                  " U [        R
                  SU5      nUS:X  a  [        U 5      eUS:X  a  g[        R                  " SU5      n[        R                  " XX!5      nUS:X  a  [        U 5      e[        R                  " U5      SU $ )z#
listxattr(path, options=0) -> str
r   r   r   r   N)	r   r   r   xattr_listxattrr   r   r   r   r    )r   r$   r%   r&   s       r   
_listxattrr<   p   s     ;;tD


dCHHa
9C
byDk	
''(C
 C


d
6C
byDk::c?4C  r   c                    [         R                  " U [        R                  SU5      nUS:X  a
  [	        5       e[        R
                  " SU5      n[         R                  " XX!5      nUS:X  a
  [	        5       e[        R                  " U5      SU $ )z"
flistxattr(fd, options=0) -> str
r   r   r   N)r   xattr_flistxattrr   r   r   r   r    )r*   r$   r%   r&   s       r   _flistxattrr?      sq     

r388Q
8C
byg
''(C
 C


r
5C
byg::c?4C  r   r   )r   r   r   )r   r   )r   )r   sys_libr   r   XATTR_XATTR_NOFOLLOWXATTR_NOFOLLOWXATTR_XATTR_CREATEXATTR_CREATEXATTR_XATTR_REPLACEXATTR_REPLACEXATTR_XATTR_NOSECURITYXATTR_NOSECURITYXATTR_MAXNAMELENXATTR_COMPAT_ADD_USER_PREFIXXATTR_COMPAT_USER_PREFIXXATTR_FINDERINFO_NAMEXATTR_RESOURCEFORK_NAMEr   r   r'   r+   r0   r3   r6   r9   r<   r?    r   r   <module>rP      s    	 
 ))%%''-- '' ;;GM2 . 2 
'!$!"	!"!r   