
    z%iW                     T   	 d dl Z d dlZd dlZd dlZd dlZe j
                  e j                  gadada	da
d Zd Zd Zd Zd Zd ZddZd	 Zd
 Zd Zd Zd Zd ZddZddZd Zd Zd Zd Zd Zd Zd Z d Z!e jD                  jF                  s e!        d Z$e%dk(  r e$        yy)    Nc                 p    t         j                  j                  rt        | t         j                         y y )Nfile)sysflagsverboseprintstderr)messages    8/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/site.py_tracer   [   s"    
yygCJJ'     c                      t        j                  j                  |  }	 t         j                  j                  |      }|t         j                  j                  |      fS # t        $ r Y ,w xY wN)ospathjoinabspathOSErrornormcase)pathsdirs     r   makepathr   `   s[    
'',,
Cggooc"   %%%  s   A 	A*)A*c                  >   	 t        t        j                  j                               D ]~  } d }	 | j                  j
                  }|dvr!	 t        j                  j                  | j                        | _        	 t        j                  j                  | j                        | _         y # t        $ r4 	 | j                  j                  j
                  }n# t        $ r Y nw xY wY w xY w# t        t        t        f$ r Y w xY w# t        t        t        f$ r Y w xY w)N>   _frozen_importlib_frozen_importlib_external)setr   modulesvalues
__loader__
__module__AttributeError__spec__loaderr   r   r   __file__r   	TypeError
__cached__)mloader_modules     r   	abs_pathsr*   i   s    O##%& 	LL33M  SS	4AJ	77??1<<8AL!  	 !

 1 1 < <! 	 3 		 3 		sY   B+.C+:.D+	C(5 CC(	C"C(!C""C('C(+DDDDc                      	 g } t               }t        j                  D ]7  }t        |      \  }}||vs| j	                  |       |j                  |       9 | t        j                  d d  |S r   )r   r   r   r   appendadd)Lknown_pathsr   dircases       r   removeduppathsr1      sk     	A%Kxx %  }W+%HHSMOOG$% CHHQKr   c                      	 t               } t        j                  D ]A  }	 t        j                  j	                  |      rt        |      \  }}| j                  |       C | S # t        $ r Y Qw xY wr   )r   r   r   r   existsr   r-   r&   )ditem_itemcases       r   _init_pathinfor8      sh    OA 	ww~~d#&tn8h	 H  		s   >A""	A.-A.c           	         	 |t               }d}nd}t        j                  j                  | |      }t	        d|       	 t        j                  t        j                  |      d      }|5  t        |      D ]  \  }}|j                  d      r|j                         dk(  r,	 |j                  d      rt        |       J|j                         }t        | |      \  }}	|	|vrOt        j                  j                  |      r0t         j                  j#                  |       |j%                  |	        d d d        |rd }|S # t        $ r Y y w xY w# t&        $ r}
t)        d	j+                  |d
z   |      t         j,                         dd l}|j1                  |
      D ]5  }|j3                         D ]   }t)        d|z   t         j,                         " 7 t)        dt         j,                         Y d }
~
 d }
~
ww xY w# 1 sw Y   xY w)NTFzProcessing .pth file: localeencoding# )zimport zimport	z"Error processing line {:d} of {}:
   r   r   z  z
Remainder of file ignored)r8   r   r   r   r   ioTextIOWrapper	open_coder   	enumerate
startswithstripexecrstripr   r3   r   r,   r-   	Exceptionr	   formatr
   	tracebackformat_exception
splitlines)sitedirnamer/   resetfullnamefnliner   r0   excrJ   records                r   
addpackagerV      s    $&ww||GT*H
#H<01 R\\(3hG 
  | 	GAts#zz|r!??#:;J{{}'6W+-"''..2EHHOOC(OOG,	0 9  "  ;BB1Q3Q::' '88= :F & 1 1 3 :d4icjj9:: 3#**E sV   *E .8H'EHA2E6H	EE	G?BG:4H:G??HHc                    	 t        d|        |t               }d}nd}t        |       \  } }||vr0t        j                  j                  |        |j                  |       	 t        j                  |       }|D cg c]  }|j                  d      s| }}t        |      D ]  }t        | ||        |rd }|S # t        $ r Y y w xY wc c}w )NzAdding directory: TFz.pth)r   r8   r   r   r   r,   r-   r   listdirr   endswithsortedrV   )rM   r/   rO   sitedircasenamesrN   s         r   
addsitedirr]      s    
{+,$&#G,G[+% $

7# $=dt}}V'<T=E=u /7D+./  =s   $B= =CC=	C	C	c                  d   	 t         j                  j                  ryt        t        d      r:t        t        d      r*t	        j
                         t	        j                         k7  ry t        t        d      r:t        t        d      r*t	        j                         t	        j                         k7  ry y)NFgetuidgeteuidgetgidgetegidT)	r   r   no_user_sitehasattrr   r`   r_   rb   ra    r   r   check_enableusersiterf      sp     yyr8Y!7::<299;&r8Y!7::<299;&r   c            	         t         j                  j                  dd       } | r| S t        j                  dv ry d }t         j
                  dk(  r,t         j                  j                  d      xs d} ||d      S t        j                  dk(  r=t        j                  r- |dd	t        j                  d
t        j                  d d z        S  |dd      S )NPYTHONUSERBASE>   wasivxworks
emscriptenc                  t    t         j                  j                  t        j                  j                  |        S r   )r   r   
expanduserr   )argss    r   joinuserz_getuserbase.<locals>.joinuser  s$    ww!!"'',,"566r   ntAPPDATA~PythondarwinLibraryz%d.%d   z.local)r   environgetr   platformrN   
_frameworkversion_info)env_basero   bases      r   _getuserbaser~     s    zz~~.5H ||887 
ww$zz~~i(/Ch''
||xCNNY#"2"22A"668 	8 C""r   c                 
   t         j                  }t        j                  dk(  r(t         j                  j                  dd      }|  d| dS t         j                  dk(  rt         j                  r|  dS |  d|d	    d|d
    dS )Nrp   .r>   z\Pythonz\site-packagesrt   z/lib/python/site-packagesz/lib/pythonr   r?   z/site-packages)r   r{   r   rN   winverreplacery   rz   )userbaseversion	ver_nodots      r   	_get_pathr      s    G	ww$JJ&&sB/	8I;o>>
||xCNN455Z{71:,a
|>JJr   c                  0    	 t         
t               a t         S r   )	USER_BASEr~   re   r   r   getuserbaser   -  s      N	r   c                  Z    	 t               } t        | dat        S t        |       at        S )NF)r   	USER_SITEENABLE_USER_SITEr   )r   s    r   getusersitepackagesr   :  s<     }H$  "(+Ir   c                     	 t        d       t               }t        r+t        j                  j                  |      rt        ||        | S )NzProcessing user site-packages)r   r   r   r   r   isdirr]   )r/   	user_sites     r   addusersitepackagesr   K  s<     *+#%IBGGMM)49k*r   c           
         	 g }t               }| t        } | D ]  }|r||v r
|j                  |       t        j                  dk(  rt
        j                  g}t
        j                  dk7  r|j                  d       |D ]I  }t        j                  j                  ||dt
        j                  d d z  d      }|j                  |       K |j                  |       |j                  t        j                  j                  |dd              |S )N/libzpython%d.%drv   zsite-packagesLib)r   PREFIXESr-   r   sepr   
platlibdirr,   r   r   r{   )prefixessitepackagesseenprefixlibdirslibdirr   s          r   getsitepackagesr   Z  s     L5D N466S=~~&G~~&u%! *ww||FF$1C4D4DRa4H$H$35 ##D)	* 'VUO LM#N$ r   c                     	 t        d       t        |      D ].  }t        j                  j	                  |      s#t        ||        0 | S )NzProcessing global site-packages)r   r   r   r   r   r]   )r/   r   rM   s      r   addsitepackagesr   {  sD    '
,-"8, -77==!w,- r   c                      	 t         j                  dk(  rd} nd} t        j                  d|       t        _        t        j                  d|       t        _        y )N\zCtrl-Z plus ReturnzCtrl-D (i.e. EOF)quitexit)r   r   _sitebuiltinsQuitterbuiltinsr   r   )eofs    r   setquitr     sF     
vv~"!!))&#6HM!))&#6HMr   c                  N   	 t        j                  dt        j                        t        _        t        j                  dd      t        _        g g }} t        t        dd       }|s=t        t        d      r-t        j                  j                  t        j                        }|ra| j                  ddg       |j                  t        j                  j                  |t        j                        |t        j                  g       t        j                  dd	| |      t        _        y )
N	copyrightcreditsz    Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information._stdlib_dirr%   zLICENSE.txtLICENSElicensez'See https://www.python.org/psf/license/)r   _Printerr   r   r   r   getattrrd   r   r   dirnamer%   extendr   pardircurdirr   )filesdirsheres      r   setcopyrightr     s    3&//S]]KH$--i :T UH b4E 3t,DGB
+wwr{{+mY/0RWW\\$		2D"))DE$--1tHr   c                  >    t        j                         t        _        y r   )r   _Helperr   helpre   r   r   	sethelperr     s    !))+HMr   c                  "    	 d } | t         _        y )Nc                     dd l } 	 dd ldd l}t	        dd      }|d|v rj                  d       nj                  d       	 j                          j                         dk(  rgt        j                  j                  t        j                  j                  d      d      	 j                         fd	}| j                  |       y y # t        $ r Y y w xY w# t        $ r Y w xY w# t        $ r Y Bw xY w)
Nr   __doc__r>   libeditzbind ^I rl_completeztab: completerr   z.python_historyc                  H    	 j                          y # t        $ r Y y w xY wr   )write_history_filer   )historyreadlines   r   write_historyzCenablerlcompleter.<locals>.register_readline.<locals>.write_history  s*    //8  s    	!!)atexitr   rlcompleterImportErrorr   parse_and_bindread_init_filer   get_current_history_lengthr   r   r   rm   read_history_fileregister)r   r   readline_docr   r   r   s       @@r   register_readlinez,enablerlcompleter.<locals>.register_readline  s    	 xB7#	\(A##$9:##O4	##% ..0A5 ggll277#5#5c#:#46G**73 OOM*+ 6)  		  	
 	"  s5   C C! (C0 	CC!	C-,C-0	C<;C<)r   __interactivehook__)r   s    r   enablerlcompleterr     s    .+` 0Cr   c                 B   t         j                  }t        j                  dk(  r#d|v rt         j                  d   x}t        _        nt        j
                  }t         j                  j                  t         j                  j                  |            }t         j                  j                  |      }d t        _	        d}t        d t         j                  j                  ||      t         j                  j                  ||      fD        d       }|r |}d}t        |d      5 }	|	D ]q  }
d|
v s|
j                  d      \  }}}|j                         j                         }|j                         }|d	k(  r|j                         }a|d
k(  sg|t        _	        s 	 d d d        |xt        _        t        _        t%        | t        j                   g       |dk(  r&t&        j)                  dt        j                          | S t        j                   gada| S # 1 sw Y   zxY w)Nrt   __PYVENV_LAUNCHER__z
pyvenv.cfgc              3   ^   K   | ]%  }t         j                  j                  |      r| ' y wr   )r   r   isfile).0conffiles     r   	<genexpr>zvenv.<locals>.<genexpr>  s*      	
! ww~~h'	 	
s   +-truezutf-8r;   =zinclude-system-site-packageshomer   F)r   rw   r   ry   _base_executable
executabler   r   r   _homenextr   open	partitionrE   lowerr   exec_prefixr   r   insertr   )r/   envr   exe_dirsite_prefixconf_basenamecandidate_confvirtual_confsystem_siterQ   rS   keyr6   values                 r   venvr     s    **C
||x$9S$@,.JJ7L,MM
S)^^
ggoobggooj9:G''//'*KCI M	
Wm4[-8&	
 		N % ,1 		*Q *$;$(NN3$7MCE))+++-C!KKME<<&+kkm$)	*		* (32
S_ 	cjj\2 & OOAszz*
  

|H$1		* 		*s   $
H/AHHHc                     	 	 	 dd l } y # t        $ r}|j                  dk(  rn Y d }~y d }~ww xY w# t        $ r}t        j
                  j                  r%t	        j                  t	        j                           n?t        j                  j                  d|j                  j                  d|d       Y d }~y Y d }~y d }~ww xY w)Nr   sitecustomizez9Error in sitecustomize; set PYTHONVERBOSE for traceback:
: 
)r   r   rN   rH   r   r   r   
excepthookexc_infor
   write	__class____name__)r   rT   errs      r   execsitecustomizer         6/	  	xx?* 	
  /99NNCLLN+JJ ''./ / ,/)   	 	-(0 -0 	CA9B<<Cc                     	 	 	 dd l } y # t        $ r}|j                  dk(  rn Y d }~y d }~ww xY w# t        $ r}t        j
                  j                  r%t	        j                  t	        j                           n?t        j                  j                  d|j                  j                  d|d       Y d }~y Y d }~y d }~ww xY w)Nr   usercustomizez9Error in usercustomize; set PYTHONVERBOSE for traceback:
r   r   )r   r   rN   rH   r   r   r   r   r   r
   r   r   r   )r   rT   r   s      r   execusercustomizer   2  r   r   c                     	 t         j                  d d  } t               }| t         j                  k7  r
t                t	        |      }t
        
t               at        |      }t        |      }t                t                t                t         j                  j                  s
t                t                t
        rt!                y y r   )r   r   r1   r*   r   r   rf   r   r   r   r   r   r   isolatedr   r   r   )	orig_pathr/   s     r   mainr  F  s     I "KCHH 	{#K/1%k2K!+.KINK99 r   c                     d} t         j                  dd  }|st               }t               }t	        d       t         j
                  D ]  }t	        d|d        t	        d       d }t	        d|d	 ||       d
       t	        d|d	 ||       d
       t	        dt               t        j                  d       g }d|v r|j                  t               d|v r|j                  t               |rt	        t        j                  j                  |             t        rt        j                  d       y t        du rt        j                  d       y t        t        j                  d       y t        j                  d       y dd l}t	        |j                  | t         j                  d   t        j                  fz               t        j                  d       y )Na      %s [--user-base] [--user-site]

    Without arguments print some useful information
    With arguments print the value of USER_BASE and/or USER_SITE separated
    by '%s'.

    Exit codes with --user-base or --user-site:
      0 - user site directory is enabled
      1 - user site directory is disabled by user
      2 - user site directory is disabled by super user
          or for security reasons
     >2 - unknown error
    r?   zsys.path = [z    ,]c                 H    |  t         j                  j                  |       ryy)Nr3   zdoesn't exist)r   r   r   )r   s    r   r3   z_script.<locals>.exists  s    BGGMM$$7&r   zUSER_BASE: z ()zUSER_SITE: zENABLE_USER_SITE: r   z--user-basez--user-siteFrv      
   )r   argvr   r   r	   r   r   r   r,   r   r   r   pathsepr   textwrapdedent)r   rn   	user_baser   r   r3   bufferr  s           r   _scriptr  h  sn   D 88AB<DM	')	n88 	&Cs$%	&c
	'
 	I=6)+<*=Q?@I=6)+<*=Q?@"#3"678Fi i bjjoof%&HHQK&HHQK%HHQKHHQKhoodchhqk2::%>>?@r   __main__r   )&r   r   r   r   r@   r   r   r   r   r   r   r   r   r*   r1   r8   rV   r]   rf   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   no_siter  r   re   r   r   <module>r     s   EN  	   	 JJ(  
 		(
&.&
,^2@#0
K
"B7 *,90v4n/(/(> yyF4l zI r   