
    4bhKD                     ^   	 d Z dZd ZdZdZdZdZdZddlZddl	Z	ddl
Z
ddlZddl g d	Zd
 Zd Zd Zd Zd Zd Zej&                  j(                  e_        d Zd Zd Zd Zd Zd Zd Zd Zdadad Z	 ddl m!Z" d Z$dddZ%d Z&e	jN                  d k(  Z(d#d!Z)d" Z*y# e#$ r d Z"Y -w xY w)$.../:z/bin:/usr/binNz	/dev/null    )*))normcaseisabsjoin
splitdrive	splitrootsplitsplitextbasenamedirnamecommonprefixgetsizegetmtimegetatimegetctimeislinkexistslexistsisdirisfileismount
expanduser
expandvarsnormpathabspathsamefilesameopenfilesamestatcurdirpardirseppathsepdefpathaltsepextsepdevnullrealpathsupports_unicode_filenamesrelpath
commonpath
isjunctionALLOW_MISSINGc                 &    t        | t              ryy)N   /r   )
isinstancebytespaths    3/opt/python-3.12.12/usr/lib/python3.12/posixpath.py_get_sepr8   )   s    $    c                 .    	 t        j                  |       S Nosfspath)ss    r7   r   r   4   s    @99Q<r9   c                 f    	 t        j                  |       } t        |       }| j                  |      S r;   )r=   r>   r8   
startswith)r?   r%   s     r7   r	   r	   <   s*    )
		!A
1+C<<r9   c                 l   	 t        j                  |       } t        |       }| }	 |s|d d |z    t        t         j                  |      D ]7  }|j	                  |      r|}|r|j                  |      r||z  }0|||z   z  }9 	 |S # t        t        t        f$ r t        j                  d| g|   w xY w)Nr   r
   )r=   r>   r8   maprA   endswith	TypeErrorAttributeErrorBytesWarninggenericpath_check_arg_types)apr%   r6   bs        r7   r
   r
   G   s     			!A
1+CD!HsNRYY"A||C T]]3/	a # K ~|4 $$VQ33s   AB -B3c                     	 t        j                  |       } t        |       }| j                  |      dz   }| d | | |d  }}|r"||t	        |      z  k7  r|j                  |      }||fS N   r=   r>   r8   rfindlenrstrip)rK   r%   iheadtails        r7   r   r   d   so    D
		!A
1+C	qA2A!"$DCI%{{3:r9   c                     t        j                  |       } t        | t              rd}d}nd}d}t	        j
                  | |d |      S )Nr2      .r   r   )r=   r>   r3   r4   rH   	_splitext)rK   r%   r)   s      r7   r   r   u   sD    
		!A!U  Cv66r9   c                 <    	 t        j                  |       } | d d | fS Nr   r<   )rK   s    r7   r   r      s#    
		!ARa5!8Or9   c                     	 t        j                  |       } t        | t              rd}d}nd}d}| d d |k7  r||| fS | dd |k7  s| dd |k(  r||| dd  fS || d d | dd  fS )Nr2   r9   r    rO         )r=   r>   r3   r4   )rK   r%   emptys      r7   r   r      s     			!A!U!u|eQ	
1Q3!Aa&C-c1QR5   aeQqrU""r9   c                 v    	 t        j                  |       } t        |       }| j                  |      dz   }| |d  S rN   )r=   r>   r8   rQ   )rK   r%   rT   s      r7   r   r      s8    3
		!A
1+C	qAQR5Lr9   c                     	 t        j                  |       } t        |       }| j                  |      dz   }| d | }|r"||t	        |      z  k7  r|j                  |      }|S rN   rP   )rK   r%   rT   rU   s       r7   r   r      s]    7
		!A
1+C	qARa5DCI%{{3Kr9   c                 0    	 t        j                  |        y)NFr<   r5   s    r7   r/   r/      s    3IIdOr9   c                 \    	 	 t        j                  |        y# t        t        f$ r Y yw xY w)NFT)r=   lstatOSError
ValueErrorr5   s    r7   r   r      s3    M
  Z  s    ++c                    	 	 t        j                  |       }t        j                  |j                        ryt        j                  |       } t        | t              rt        | d      }nt        | d      }t        |      }	 t        j                  |      }|j                  }|j                  }||k7  ry|j                  }|j                  }||k(  ryy# t
        t        f$ r Y yw xY w# t
        t        f$ r Y yw xY w)NF   ..r   T)r=   re   statS_ISLNKst_moderf   rg   r>   r3   r4   r
   r+   st_devst_ino)r6   s1parents2dev1dev2ino1ino2s           r7   r   r      s    .XXd^ <<

#99T?D$dE"dD!fFXXf 99D99Dt|99D99Dt|7 Z    Z  s#   C C) C&%C&)C;:C;c                 t   	 t        j                  |       } t        | t              rd}nd}| j	                  |      s| S t        |       }| j                  |d      }|dk  rt        |       }|dk(  rZdt         j                  vr4	 dd l	}	 |j                  t        j                               j                  }nat         j                  d   }nM	 dd l	}| d| }t        |t              rt        j                  |      }	 |j!                  |      }|j                  }|t"        j$                  dk(  r| S t        | t              rt        j&                  |      }d}nd}|j)                  |      }|| |d  z   xs |S # t        $ r | cY S w xY w# t        $ r | cY S w xY w# t        $ r | cY S w xY w# t        $ r | cY S w xY w)	N   ~~rO   r   HOMEvxworksr2   r   )r=   r>   r3   r4   rA   r8   findrR   environpwdImportErrorgetpwuidgetuidpw_dirKeyErrorfsdecodegetpwnamsysplatformfsencoderS   )	r6   tilder%   rT   r}   userhomenamepwentroots	            r7   r   r      s   99T?D$??5!
4.C		#qA1uIAv#<<		4;; zz&)H	 AaydE";;t$D	LL&E
 <<CLLI5$;;x(t$HtABx(D(I  
     	K	  	 K	sH   E6 	-F F ;F) 6FFFFF&%F&)F76F7c                 .   	 t        j                  |       } t        | t              rRd| vr| S t        s dd l}|j                  d|j                        at        j                  }d}d}t        t         dd       }nPd| vr| S t        s dd l}|j                  d|j                        a
t        j                  }d	}d
}t         j                  }d}	  || |      }|s	 | S |j                  d      \  }}|j                  d      }	|	j                  |      r|	j                  |      r|	dd }		 |:t        j                   t         j                  t        j"                  |	               }
n||	   }
| |d  }| d | |
z   } t%        |       }| |z  } # t&        $ r |}Y w xY w)N   $r   s   \$(\w+|\{[^}]*\})   {   }environb$z\$(\w+|\{[^}]*\}){}rO   )r=   r>   r3   r4   	_varprogbrecompileASCIIsearchgetattr_varprogr|   spangrouprA   rD   r   r   rR   r   )r6   r   r   startendr|   rT   mjr   valuerV   s               r7   r   r   @  s   99T?D$tK

#8"((CI!!"j$/d?Kzz"6AH**	A
4O" K! vvay1wwqz??5!dmmC&8":D	BJJr{{4/@$AB 8D8e#DD	ADLD'   	A	s   'AF FF)_path_normpathc                    	 t        j                  |       } t        | t              r	d}d}d}d}nd}d}d}d}| |k(  r|S t	        |       \  }}} | j                  |      }g }|D ]A  }	|	||fv r
|	|k7  s|s|r
|r|d	   |k(  r|j                  |	       /|s2|j                          C |}||j                  |      z   } | xs |S )
Nr2   r9   rX   ri   r   r]   r   r   r   )	r=   r>   r3   r4   r   r   appendpopr
   )
r6   r%   r`   dotdotdot_initial_slashescomps	new_compscomps
             r7   r   r   y  s    >yydE"CECFCECF5=J#,T? ?D

3	Ds|#y	" 7  &  %0{sr9   c                     	 t        j                  |       } t        |       sEt        | t              rt        j
                         }nt        j                         }t        ||       } t        |       S r;   )	r=   r>   r	   r3   r4   getcwdbgetcwdr
   r   )r6   cwds     r7   r   r     sN    "99T?D;dE"**,C))+CCD>r9   F)strictc                l    	 t        j                  |       } t        | d d | |i       \  }}t        |      S r[   )r=   r>   _joinrealpathr   )filenamer   r6   oks       r7   r+   r+     s9    +yy"HXbq\8VR@HD"4=r9   c                    t        | t              rd}d}d}nd}d}d}t        j                  }|t        u rt
        }n|rd}nt        }d }	t        |      r|dd  }|} |r|j                  |      \  }
}}|
r|
|k(  r |
|k(  r&| r!t        |       \  } }
|
|k(  rt        | ||      } n|} Kt        | |
      }	 t        j                  |      }t        j                  |j                        }|s|} ||v r.||   } | |rt        j                  |       nt        ||      d	fS d ||<   t        | t        j                   |      ||      \  } }|st        | |      d	fS | ||<   |r| d
fS # |$ r d	}Y w xY w)Nr2   rX   ri   r   r   r    rO   FT)r3   r4   r=   r   r0   FileNotFoundErrorrf   r	   	partitionr   r
   re   rj   rk   rl   r   readlink)r6   restr   seenr%   r#   r$   r   ignored_errormaxlinksr   r   newpathstis_linkr   s                   r7   r   r     s   $)	HT{ABx
s+atv~6>"4[
d6>ff5DtT"	/'"B ll2::.GDd?=D  GT*E11W r{{7';VTJbd#U**WU X :7  	G	s   4E% %E/.E/darwinc                 R   	 | st        d      t        j                  |       } t        | t              rd}d}d}nd}d}d}||}nt        j                  |      }	 t        |      j                  |      D cg c]  }|s|	 }}t        |       j                  |      D cg c]  }|s|	 }}t        t        ||g            }|gt        |      |z
  z  ||d  z   }	|	s|S t        |	 S c c}w c c}w # t        t        t        t        f$ r t        j                  d| |        w xY w)	Nzno path specifiedrX   r2   ri   r   r   r   r-   )rg   r=   r>   r3   r4   r   r   rR   r   r
   rE   rF   rG   DeprecationWarningrH   rI   )
r6   r   r#   r%   r$   x
start_list	path_listrT   rel_lists
             r7   r-   r-     s3   -,--99T?D$}		% !(!5!5c!:@!:Aaa!:
@ ' 3 3C 8> 81AQ 8	>j)4568s:q01IabMAMX A> ~|5GH $$Ye<s<   C4 8C* C*C4 "C/*C/.3C4 "C4 *
C4 42D&c           	         	 | st        d      t        t        t        j                  |             } t        | d   t              rdd}ndd}	 | D cg c]  }|j                         }}	 t        fd| D              \  }|D cg c]  }|D cg c]  }|s||k7  s| c} }}}t        |      }t        |      }|}	t        |      D ]  \  }
}|||
   k7  s|d |
 }	 n |rnd d }|j                  |	      z   S c c}w # t         $ r t        d      d w xY wc c}w c c}}w # t        t        f$ r t        j                   d	g|    w xY w)
Nz%commonpath() arg is an empty sequencer   r2   rX   r   r   c              3   .   K   | ]  }|d d k(    y wrN   r   ).0rK   r%   s     r7   	<genexpr>zcommonpath.<locals>.<genexpr>3  s     5u!2A#us   z%Can't mix absolute and relative pathsr.   )rg   tuplerC   r=   r>   r3   r4   r   setminmax	enumerater
   rE   rF   rH   rI   )pathsr#   r6   split_pathsr	   r?   cro   rq   commonrT   prefixr%   s               @r7   r.   r.   !  sv   N@AA#bii'(E%(E"38954tzz#59	P5u55FE EPPKq1:1aa6k1:KPbMDAqBqEzBQ "
 3r7(((# :  	PDE4O	P ;P ~& $$\:E:sl   D- D,D- /D	 D- 
	D'D"D"!D"%D'*4D- $D- D- 	DD- "D''D- -'Er;   )+r#   r$   r)   r%   r&   r'   r(   r*   r=   r   rj   rH   __all__r8   r   r	   r
   r   r   rY   __doc__r   r   r   r   r/   r   r   r   r   r   r   posixr   r   r~   r   r+   r   r   r,   r-   r.   r   r9   r7   <module>r      s  
 
			

	
 	 
   8:	"7 ((00 
#>V6)z 	.j 0D	 "' CL "llh6 !R#S  s   8B! !B,+B,