
    =OguB                     D   	 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T 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adad Z	 ddlm Z  d Z!n# e"$ r d Z!Y nw xY wd Z#dddZ$d Z%e	j&        d k    Z'd#d!Z(d" Z)dS )$.../:z/bin:/usr/binNz	/dev/null    )*)&normcaseisabsjoin
splitdrive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
commonpathc                 4    t          | t                    rdS dS )N   /r   )
isinstancebytespaths    "/usr/lib64/python3.11/posixpath.py_get_sepr5   )   s    $ ts    c                 ,    	 t          j        |           S Nosfspath)ss    r4   r   r   4   s    @9Q<<r6   c                 t    	 t          j        |           } t          |           }|                     |          S r8   )r:   r;   r5   
startswith)r<   r$   s     r4   r	   r	   <   s/    )
	!A
1++C<<r6   c                    	 t          j        |           } t          |           }| }	 |s|d d         |z    t          t           j        |          D ]?}|                    |          r|}|r|                    |          r||z  }7|||z   z  }@n/# t          t          t          f$ r t          j
        d| g|R    w xY w|S )Nr   r
   )r:   r;   r5   mapr>   endswith	TypeErrorAttributeErrorBytesWarninggenericpath_check_arg_types)apr$   r3   bs        r4   r
   r
   G   s     		!A
1++CD 	!HsNNRY"" 	  	 A||C      T]]3//  	a	  ~|4   $VQ33333 Ks   A)B ,B>c                    	 t          j        |           } t          |           }|                     |          dz   }| d |         | |d          }}|r+||t	          |          z  k    r|                    |          }||fS N   r:   r;   r5   rfindlenrstrip)rH   r$   iheadtails        r4   r   r   d   s    D
	!A
1++C	qA2A2!""$D  CII%%{{3:r6   c                     t          j        |           } t          | t                    rd}d}nd}d}t	          j        | |d |          S )Nr/      .r   r   )r:   r;   r0   r1   rE   	_splitext)rH   r$   r(   s      r4   r   r   u   sN    
	!A!U  Cv666r6   c                 D    	 t          j        |           } | d d         | fS Nr   r9   )rH   s    r4   r   r      s%    
	!ARaR5!8Or6   c                     	 t          j        |           } t          |           }|                     |          dz   }| |d          S rK   )r:   r;   r5   rN   )rH   r$   rQ   s      r4   r   r      s>    3
	!A
1++C	qAQRR5Lr6   c                     	 t          j        |           } t          |           }|                     |          dz   }| d |         }|r+||t	          |          z  k    r|                    |          }|S rK   rM   )rH   r$   rQ   rR   s       r4   r   r      sp    7
	!A
1++C	qARaR5D  CII%%{{3Kr6   c                     	 	 t          j        |           }n# t          t          t          f$ r Y dS w xY wt          j        |j                  S )NF)r:   lstatOSError
ValueErrorrC   statS_ISLNKst_mode)r3   sts     r4   r   r      sT    0Xd^^Z0   uu<
###s    33c                 d    	 	 t          j        |            n# t          t          f$ r Y dS w xY wdS )NFT)r:   r\   r]   r^   r2   s    r4   r   r      sE    M
Z    uu4s    --c                     	 	 t          j        |           }t          j        |j                  rdS n# t
          t          f$ r Y dS w xY wt          j        |           } t          | t                    rt          | d          }nt          | d          }t          |          }	 t          j        |          }n# t
          t          f$ r Y dS w xY w|j        }|j        }||k    rdS |j        }|j        }||k    rdS dS )NF   ..r   T)r:   r\   r_   r`   ra   r]   r^   r;   r0   r1   r
   r*   st_devst_ino)r3   s1parents2dev1dev2ino1ino2s           r4   r   r      s*   .Xd^^ <
## 	5	 Z    uu 9T??D$ "dE""dD!!fFXfZ    uu 9D9Dt||t9D9Dt||t5s!   3 AA%B: :CCc                    	 t          j        |           } t          | t                    rd}nd}|                     |          s| S t          |           }|                     |d          }|dk     rt          |           }|dk    rxdt           j        vrW	 dd l	}n# t          $ r | cY S w xY w	 |                    t          j                              j        }n# t          $ r | cY S w xY wt           j        d         }nw	 dd l	}n# t          $ r | cY S w xY w| d|         }t          |t                    rt          |d          }	 |                    |          }n# t          $ r | cY S w xY w|j        }|t"          j        dk    r| S t          | t                    rt          j        |          }d}nd	}|                    |          }|| |d          z   p|S )
N   ~~rL   r   HOMEASCIIvxworksr/   r   )r:   r;   r0   r1   r>   r5   findrO   environpwdImportErrorgetpwuidgetuidpw_dirKeyErrorstrgetpwnamsysplatformfsencoderP   )	r3   tilder$   rQ   rw   userhomenamepwentroots	            r4   r   r      s6   9T??D$ ??5!! 
4..C		#qA1uuIIAvv##



   <<	44;    
 z&)HH	JJJJ 	 	 	KKK	 AaCydE"" 	&tW%%D	LL&&EE 	 	 	 KKK	 <CLI55$ ;x((t$$HtABBx(D(sH   B B*)B*.+C C)(C) D DDE E,+E,c                 x   	 t          j        |           } t          | t                    rSd| vr| S t          sdd l}|                    d|j                  at          j        }d}d}t          t           dd           }nHd| vr| S t          sdd l}|                    d|j                  a
t          j        }d	}d
}t           j        }d}	  || |          }|sn|                    d          \  }}|                    d          }	|	                    |          r|	                    |          r
|	dd         }		 |7t          j        t           j        t          j        |	                             }
n||	         }
| |d          }| d |         |
z   } t%          |           }| |z  } n# t&          $ r |}Y nw xY w| S )N   $r   s   \$(\w+|\{[^}]*\})   {   }environb$z\$(\w+|\{[^}]*\}){}TrL   )r:   r;   r0   r1   	_varprogbrecompilers   searchgetattr_varprogrv   spangroupr>   rA   r   fsdecoderO   r|   )r3   r   r   startendrv   rQ   mjr   valuerS   s               r4   r   r   %  s   9T??D$ tK 	DIII

#8"(CCI!"j$//d??K 	BIIIzz"6AAH*	AF4OO 	vvayy1wwqzz??5!! 	dmmC&8&8 	":D	BJr{4/@/@$ABB 8D8e#DD		ADLDD  	 	 	AAA	( Ks   :AF' 'F65F6)_path_normpathc                     	 t          j        |           } t          | t                    r5t          j        t          t          j        |                               pdS t          |           pdS )NrU   r   )r:   r;   r0   r1   r   r   r   r2   s    r4   r   r     s_    >ydE"" 	J;~bk$.?.?@@AAITId##*s*r6   c                 2   	 t          j        |           } t          | t                    r	d}d}d}d}nd}d}d}d}| |k    r|S |                     |          }|r2|                     |d	z            r|                     |d
z            sd	}|                     |          }g }|D ]M}|||fv r	||k    s|s|r|r"|d         |k    r|                    |           7|r|                                 N|}|                    |          } |r||z  | z   } | p|S )Nr/   r6   rU   re   r    r   r         r   )	r:   r;   r0   r1   r>   r   appendpopr
   )	r3   r$   emptydotdotdotinitial_slashescomps	new_compscomps	            r4   r   r   ^  sk   >ydE"" 		CECFFCECF5==J//#..  	 OOCE""	 +/??3q5+A+A	 O

3	 	  	 Ds|##y  )" 7 7  &&&&  xx 	.&-D{sr6   c                     	 t          j        |           } t          |           sLt          | t                    rt          j                    }nt          j                    }t          ||           } t          |           S r8   )	r:   r;   r	   r0   r1   getcwdbgetcwdr
   r   )r3   cwds     r4   r   r     sc    "9T??D;; dE"" 	*,,CC)++CCD>>r6   F)strictc                    	 t          j        |           } t          | d d         | |i           \  }}t          |          S rX   )r:   r;   _joinrealpathr   )filenamer   r3   oks       r4   r*   r*     sA    +y""HXbqb\8VR@@HD"4==r6   c                    t          | t                    rd}d}d}nd}d}d}t          |          r|dd          }|} |r0|                    |          \  }}}|r||k    r%||k    r/| r*t	          |           \  } }||k    rt          | ||          } n|} Zt          | |          }		 t          j        |	          }
t          j	        |
j
                  }n# t          $ r |r d}Y nw xY w|s|	} |	|v r4||	         } | |rt          j        |	           nt          |	|          dfS d ||	<   t          | t          j        |	          ||          \  } }|st          | |          dfS | ||	<   |0| d	fS )
Nr/   rU   re   r   r   r   rL   FT)r0   r1   r	   	partitionr   r
   r:   r\   r_   r`   ra   r]   r   readlink)r3   restr   seenr$   r"   r#   r   _newpathrb   is_linkr   s                r4   r   r     s   $ T{{ ABBx
 ,s++a 	tv~~6>> "4[[
d6>>ff55DtT""	/'""B l2:..GG  	 	 	 GGG	  	Dd??=D 2     GT**E11W r{7';';VTJJb 	+d##U**WY  ,\ :s   )C C)(C)darwinc                 ~   	 | st          d          t          j        |           } t          | t                    rd}d}d}nd}d}d}||}nt          j        |          }	 d t          |                              |          D             }d	 t          |                               |          D             }t          t          ||g                    }|gt          |          |z
  z  ||d          z   }|s|S t          | S # t          t          t          t          f$ r t          j        d
| |            w xY w)Nzno path specifiedrU   r/   re   r   r   r   c                     g | ]}||S  r   .0xs     r4   
<listcomp>zrelpath.<locals>.<listcomp>  s    @@@Aa@a@@@r6   c                     g | ]}||S r   r   r   s     r4   r   zrelpath.<locals>.<listcomp>  s    >>>1A>Q>>>r6   r,   )r^   r:   r;   r0   r1   r   r   rO   r   r
   rB   rC   rD   DeprecationWarningrE   rF   )	r3   r   r"   r$   r#   
start_list	path_listrQ   rel_lists	            r4   r,   r,     s[   - .,---9T??D$ }	%  @@!5!5c!:!:@@@
>> 3 3C 8 8>>>	j)455668s:q01IabbMA 	MX~|5GH   $Ye<<<s   #BD >D 5D<c                   	
 	 | st          d          t          t          t          j        |                     } t          | d         t                    rd
d	nd
d		 
fd| D             }	 t          
fd| D                       \  }n# t           $ r t          d	          d w xY w	fd
|D             }t          |          }t          |          }|}t          |          D ]\  }}|||         k    r|d |         } n|r
n	
d d         }|
                    |          z   S # t          t          f$ r t          j        dg| R    w xY w)Nz%commonpath() arg is an empty sequencer   r/   rU   r   r   c                 :    g | ]}|                               S r   )r   )r   r3   r$   s     r4   r   zcommonpath.<locals>.<listcomp>  s#    9994tzz#999r6   c              3   4   K   | ]}|d d         k    V  d S rK   r   )r   rH   r$   s     r4   	<genexpr>zcommonpath.<locals>.<genexpr>!  s/      55!2A2#555555r6   z%Can't mix absolute and relative pathsc                 ,    g | ]}fd |D             S )c                 $    g | ]}||k    
|S r   r   )r   cr"   s     r4   r   z)commonpath.<locals>.<listcomp>.<listcomp>%  s#    :::a:a6kkkkkr6   r   )r   r<   r"   s     r4   r   zcommonpath.<locals>.<listcomp>%  s.    PPPq::::1:::PPPr6   r-   )r^   tupler@   r:   r;   r0   r1   setminmax	enumerater
   rB   rC   rE   rF   )pathssplit_pathsr	   rh   rj   commonrQ   r   prefixr"   r$   s            @@r4   r-   r-     s   N B@AAA#bi''((E%(E"" 99995999	P5555u55555FEE 	P 	P 	PDEE4O	P QPPPKPPPbMM 	 	DAqBqEzzBQB  *3rr7((((~&   $\:E::::s%   !D- 0B D- B))BD- -%Er8   )*r"   r#   r(   r$   r%   r&   r'   r)   r:   r   r_   rE   __all__r5   r   r	   r
   r   r   rV   __doc__r   r   r   r   r   r   r   r   r   r   posixr   r   rx   r   r*   r   r   r+   r,   r-   r   r6   r4   <module>r      sG  
 
			

	
 				 



                   :	 	 	"7 7 7 (0 
      $ $ $    V6) 6) 6)z 	. . .j0+$$$$$$T+ + + +Q  % % %$ $ $ $ $%`	 	 	 "'     < < <~ "lh6 ! ! ! !R# # # # #s   *A4 4A?>A?