+
    f7ii  c                  s$   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^RIHt ^RIHtHtHtHtHtHtHt ^RIHt ^RIHt ]P2                  '       d   ^ R	IHt ^ R
IHtHt ^RIHt ]P@                  ! 4       R8H  t! ! R R]4      t"R# )i    )annotationsN)PathLike)Path)FS)CreateFailedDirectoryExpectedDirectoryNotEmptyFileExpectedIllegalDestinationResourceErrorResourceNotFound)Info)isbase)
Collection)IOAny)SubFSZWindowsc                  s  a  ] tR t^"tRtR'R V 3R llltR R ltR(R R lltR R	 ltR
 R lt	R R lt
R R ltR)R R lltR'R R lltR'R R lltR*R R lltR R ltR R ltR R ltR'R R lltR  R! ltR" R# ltR$ R% ltR&tV ;t# )+OSFSzVFilesystem for a directory on the local disk.

A thin layer on top of `pathlib.Path`.
c                    V ^8  d   QhRRRR/# )   rootzstr | PathLikecreatebool Zformat   "F/usr/lib64/python3.14/site-packages/fontTools/misc/filesystem/_osfs.py__annotate__OSFS.__annotate__(   s     	 	^ 	T 	    c                	s  < \         SV `  4        \        V4      P                  4       V n        V'       d    V P                  P                  R R R7       R# V P                  P                  4       '       g   \        RV: R24      hR# )Tparentsexist_okzunable to create OSFS: z% does not exist or is not a directoryN)Zsuper__init__r   resolve_rootmkdiris_dirr   )selfr   r   	__class__s   &&&r   r!   ZOSFS.__init__(   sn    $Z'')
JJTD9::$$&&"-dX5Z[  'r   c               r   )r   rel_pathstrreturnr   r   r   r   r   r   r   3   s     < <S <T <r   c                	s    V P                  4        V P                  VP                  R 4      ,          P                  4       # )Z/)Zcheckr#   Zstripr"   )r&   r(      &&r   _absZ	OSFS._abs3   s,    



X^^C0099;;r   c               $    V ^8  d   QhRRRRRR/# )r   pathr)   moder*   zIO[Any]r   r   r   r   r   r   7   s&     K K KC KW Kr   c                	s     V P                  V4      P                  ! V3/ VB #   \         d    \        R T: 24      hi ; i)No such file or directory: )r,   openFileNotFoundErrorr
   )r&   r.   r/   Zkwargss   &&&,r   r1   Z	OSFS.open7   sJ    	K99T?''777  	K"%@#IJJ	Ks   !$ ?c               r   r   r.   r)   r*   r   r   r   r   r   r   r   =   s     ( (3 (4 (r   c                	@    V P                  V4      P                  4       # N)r,   existsr&   r.   r+   r   r6   ZOSFS.exists=       yy%%''r   c               r   r3   r   r   r   r   r   r   @   s     ( (# ($ (r   c                	r4   r5   )r,   r%   r7   r+   r   isdirZ
OSFS.isdir@   r8   r   c               r   r3   r   r   r   r   r   r   C   s     ) )3 )4 )r   c                	r4   r5   )r,   is_filer7   r+   r   isfileZOSFS.isfileC   s    yy&&((r   c               r   )r   r.   r)   r*   z	list[str]r   r   r   r   r   r   F   s     ; ;C ;I ;r   c                	s|    V P                  V4      P                  4        Uu. uF  q"P                  NK  	  up# u upi r5   )r,   iterdirname)r&   r.   Zp   && r   listdirZOSFS.listdirF   s/     $		$ 7 7 9: 91 9:::s   9c               s(    V ^8  d   QhRRRRRRRR/# )r   r.   r)   r   r   r    r*   r   r   r   r   r   r   r   I   s)     " "3 " " "RW "r   c                	sf    V P                  V4      P                  W#R 7       V P                  V4      # )r   )r,   r$   Zopendir)r&   r.   r   r    s   &&&&r   _mkdirZOSFS._mkdirI   s*    		$gA||D!!r   c               $    V ^8  d   QhRRRRRR/# r   r.   r)   recreater   r*   r   r   r   r   r   r   r   M   s&     C CC C4 CE Cr   c                	*    V P                  VR VR7      # )Fr   r@   r&   r.   rC      &&&r   makedirZOSFS.makedirM   s    {{4{BBr   c               rA   rB   r   r   r   r   r   r   P   s&     B BS BD BU Br   c                	rD   )Tr   rE   rF   rG   r   makedirsZOSFS.makedirsP   s    {{4{AAr   c               rA   )r   r.   r)   
namespaceszCollection[str] | Noner*   r   r   r   r   r   r   r   S   s"      C -C t r   c                	s   V P                  V4      pVP                  4       '       g   \        R \        V4      : 24      hRRVP                  RVP                  4       //pT;'       g    RpRV9   d   VP                  4       pRVP                  RVP                  RVP                  R\        P                  ! VP                  4      R	\        VR
R4      /;qSR&   \        '       d   R	MRpVP                  WV&   \        V4      # )r0   Zbasicr=   r%   detailsZaccessedZmodifiedZsizeZtypeZcreatedZst_birthtimeNZmetadata_changedr   )r,   r6   r
   r)   r=   r%   statZst_atimeZst_mtimeZst_sizeZS_IFMTZst_modeZgetattr_WINDOWS_PLATFORMZst_ctimer   )r&   r.   rJ   ZinfoZstat_resultrK   Z	ctime_keys   &&&    r   getinfoZOSFS.getinfoS   s    yy{{}}"%@T#NOO		$++-
  %%2

"))+KK00K00++K$7$787;E) G9o &7%6	<NI!,!5!5GDzr   c                   V ^8  d   QhRR/# r   r.   r)   r   r   r   r   r   r   k   s     
L 
L3 
Lr   c                	sH   V P                  V4      p VP                  4        R#   \         d    \        R \	        T4      : 24      h\
         dP   pTP                  4       '       d   \        R\	        T4      : R24      h\        R\	        T4      : RT 24      hRp?ii ; i)r0   path z should be a fileunable to remove : N)	r,   Zunlinkr2   r
   r)   OSErrorr%   r   r	   r&   r.   Zer>   r   removeZOSFS.removek   s    yy	LKKM  	P"%@T#NOO 	L{{}}"U3t9-7H#IJJ#&7D	}Bqc$JKK		Ls   % +B!B!A
BB!c               rO   rP   r   r   r   r   r   r   w   s     	G 	Gc 	Gr   c                	s     V P                  V4      P                  4        R#   \         d    \        R T: R24      h\         dF   pTP
                  \
        P                  8X  d   \        RT: 24      h\        RT: RT 24      hRp?ii ; i)rQ    should be a directoryzDirectory not empty: rR   rS   N)	r,   rmdirZNotADirectoryErrorr   rT   errnoZ	ENOTEMPTYr   r	   rU   r>   r   	removedirZOSFS.removedirw   s    	GIIdO!!#! 	L#eD83I$JKK 	Gww%//)'*?x(HII#&7xr!$EFF		Gs   # #BBA BBc               rO   rP   r   r   r   r   r   r      s     ' 's 'r   c                	sP    \         P                  ! V P                  V4      4       R # r5   )shutilZrmtreer,   r7   r+   r   
removetreeZOSFS.removetree   s    diio&r   c               r-   )r   src_dirr)   dst_dirr   r   r   r   r   r   r   r      s!     " "s "S "$ "r   c                	s    \        W4      '       d   \        R V: RV: 24      hV P                  V4      pVP                  4       '       g   \	        RV: R24      hVP                  4       '       g   \        RV: R24      hV P                  V4      pV'       g'   VP                  4       '       g   \	        RV: R24      hVP                  4       '       d   \        RV: R24      hV'       d   VP                  P                  RRR7       VP                  4       '       dL   \        VP                  4       4      '       d   \        RV: R24      h\        '       d   VP                  4        VP                  V4       R	# )
zcannot move z to zSource z does not existrW   zDestination Tr   z is not emptyN)r   r   r,   r6   r
   r%   r   r:   Zparentr$   Zlistr<   r   rM   rX   Zrename)r&   r]   r^   r   Zsrc_pathZdst_paths   &&&&  r   movedirZOSFS.movedir   s8   '##$|G;d7+%NOO99W%  "WWK#GHH""#gg[8N$OPP99W%hoo//"\'O#LMM#l7+=S$TUUOO!!$!>??H$$&''',wk(OPP""  !r   c               s     V ^8  d   QhRRRR/# )r   r.   r)   r*   r   r   r   r   r   r      s     $ $s $s $r   c                	s6    \        V P                  V4      4      # r5   )r)   r,   r7   r+   r   
getsyspathZOSFS.getsyspath   s    499T?##r   c               rO   r   r*   r)   r   r   r   r   r   r      s     A A# Ar   c                	sb    V P                   P                   R \        V P                  4      : R2# )Z(Z))r'   __name__r)   r#   r&      &r   __repr__ZOSFS.__repr__   s)    ..))*!C

O+>a@@r   c               rO   ra   r   r   r   r   r   r      s     E E Er   c                	sl    R V P                   P                  P                  4        RV P                   R2# )Z<z 'z'>)r'   rb   Zlowerr#   rc   rd   r   __str__ZOSFS.__str__   s/    4>>**00232djj\DDr   )r#   )F)Zrb)FFr5   )rb   Z
__module__Z__qualname__Z__firstlineno__Z__doc__r!   r,   r1   r6   r9   r;   r?   r@   rH   rI   rN   rV   rZ   r\   r_   r`   re   rf   Z__static_attributes__Z__classcell__)r'   s   @r   r   r   "   st    
	 	<K(();"CB0
L	G'"0$AE Er   r   )#Z
__future__r    rY   Zplatformr[   rL   ZtypingZosr   Zpathlibr   Z_baser   Z_errorsr   r   r   r   r   r	   r
   Z_infor   Z_pathr   ZTYPE_CHECKINGZcollections.abcr   r   r   Z_subfsr   ZsystemrM   r   r   r   r   <module>rg      sp    "            	* OO%2 BE2 BEr   