
    9f                        S SK r S SKrS SKJr  S SKJr  S SKJrJrJ	r	  S SK
JrJr  S SKJrJr  S SKJr  \(       a$  \" \" S5      5      r\R&                  " 5       S	-  /rOa\(       a7  \R&                  " 5       S-  r\R&                  " 5       S	-  \" \" S5      5      /rO#\R&                  " 5       S	-  r\" \" S5      5      /r\R&                  " 5       S
-  r\R&                  " 5       S-  r\" S5      r\" S5      r\" S5      rSrSrSrSrSrSrSr \ RB                  " \"5      r#S\$S\\   4S jr% " S S5      r&\&" 5       r'\'RQ                  5         g)    N)Path)Optional)user_cache_pathuser_data_pathuser_log_path)LINUXWINDOWS)hazard	strtobool)	pipx_wrappipxz.local/pipxz
.local/binz.local/share/manz	/opt/pipxz/usr/local/binz/usr/local/share/manenv_namereturnc                     [         R                  R                  U 5      nUb'  [        U5      R	                  5       R                  5       $ U$ N)osenvirongetr   
expanduserresolve)r   vals     ,/usr/lib/python3/dist-packages/pipx/paths.pyget_expanded_environr   (   s:    
**..
"C
Cy##%--//J    c                      \ rS rSr% \\   \S'   \\S'   \\   \S'   \\S'   \\   \S'   \\S'   \\S'   \\S	'   \\S
'   \\   \S'   \\   \S'   \\S'   Sr\\   \S'   S r	\
S\4S j5       r\
S\4S j5       r\
S\4S j5       r\
S\4S j5       r\
S\4S j5       r\
S\4S j5       r\
S\4S j5       r\
S\4S j5       rS S jrS S jr\
S\4S j5       r\
S\4S j5       rS rSrg)!_PathContext/   
_base_home_default_home	_base_bin_default_bin	_base_man_default_man_default_log_default_cache_default_trash_base_shared_libs_fallback_home_home_existsNlog_filec                 $    U R                  5         g r   )
make_localselfs    r   __init___PathContext.__init__>   s    r   r   c                      U R                   S-  $ )Nvenvshomer-   s    r   r2   _PathContext.venvsA   s    yy7""r   c                 p    U R                   (       d  [        (       d  U R                  S-  $ U R                  $ )Nlogs)r)   r   r4   r$   r-   s    r   r7   _PathContext.logsE   s*    EE99v%%   r   c                 Z    U R                   (       a  U R                  S-  $ U R                  $ )Nz.trash)r)   r4   r&   r-   s    r   trash_PathContext.trashK   s&    99x''"""r   c                 p    U R                   (       d  [        (       d  U R                  S-  $ U R                  $ )N.cache)r)   r   r4   r%   r-   s    r   
venv_cache_PathContext.venv_cacheQ   s*    EE99x''"""r   c                 \    U R                   =(       d    U R                  R                  5       $ r   )r    r!   r   r-   s    r   bin_dir_PathContext.bin_dirW        3$"3"3<<>>r   c                 \    U R                   =(       d    U R                  R                  5       $ r   )r"   r#   r   r-   s    r   man_dir_PathContext.man_dir[   rC   r   c                     U R                   (       a%  [        U R                   5      nUR	                  5       $ U R                  (       a  U R                  nUR	                  5       $ U R                  nUR	                  5       $ r   )r   r   r(   r   r   )r.   r4   s     r   r4   _PathContext.home_   sb    ??(D
 ||~	   &&D ||~ %%D||~r   c                 b    U R                   =(       d    U R                  S-  R                  5       $ )Nshared)r'   r4   r   r-   s    r   shared_libs_PathContext.shared_libsi   s%    &&>$))h*>GGIIr   c           	         [         =(       d    [        S5      U l        [        U l        [
        =(       d    [        S5      U l        [        U l        [        =(       d    [        S5      U l
        [        U l        [        =(       d    [        S5      U l        [        [!        S5      5      U l        [        [%        S5      5      U l        U R                  S-  U l        [+        [-        [.         Vs/ s H  oR1                  5       (       d  M  UPM     sn5      S 5      U l        U R                  S L=(       d    [5        S [.         5       5      U l        g s  snf )N	PIPX_HOMEPIPX_BIN_DIRPIPX_MAN_DIRPIPX_SHARED_LIBSr   r:   c              3   @   #    U  H  oR                  5       v   M     g 7fr   )exists).0fallbacks     r   	<genexpr>*_PathContext.make_local.<locals>.<genexpr>y   s     >uatU]?P?Pats   )OVERRIDE_PIPX_HOMEr   r   DEFAULT_PIPX_HOMEr   OVERRIDE_PIPX_BIN_DIRr    DEFAULT_PIPX_BIN_DIRr!   OVERRIDE_PIPX_MAN_DIRr"   DEFAULT_PIPX_MAN_DIRr#   OVERRIDE_PIPX_SHARED_LIBSr'   r   r   r$   r   r%   r&   nextiterFALLBACK_PIPX_HOMESrS   r(   anyr)   )r.   rU   s     r   r,   _PathContext.make_localm   s    ,Q0D[0Q..V2F~2V0.V2F~2V0!:!f>RSe>f v!67"?6#:;"007:"4BU(kBUhYhYhYjBU(k#lnrs OO47u3>uat>u;u )ls   .E
Ec                    [         =(       d    [        S5      U l        [        U l        [
        =(       d    [        S5      U l        [        U l        [        =(       d    [        S5      U l
        [        U l        U R                  S-  U l        U R                  S-  U l        U R                  S-  U l        S U l        S U l        U R                  S LU l        g )NPIPX_GLOBAL_HOMEPIPX_GLOBAL_BIN_DIRPIPX_GLOBAL_MAN_DIRr7   r=   r:   )OVERRIDE_PIPX_GLOBAL_HOMEr   r   DEFAULT_PIPX_GLOBAL_HOMEr   OVERRIDE_PIPX_GLOBAL_BIN_DIRr    DEFAULT_PIPX_GLOBAL_BIN_DIRr!   OVERRIDE_PIPX_GLOBAL_MAN_DIRr"   DEFAULT_PIPX_GLOBAL_MAN_DIRr#   r$   r%   r&   r'   r(   r)   r-   s    r   make_global_PathContext.make_global{   s    3_7KL^7_55d9MNc9d75d9MNc9d7 ..7"008;"007:!%" OO47r   c                      U R                   S-  $ )Npyr3   r-   s    r   standalone_python_cachedir'_PathContext.standalone_python_cachedir   s    yy4r   c                 B    [        [        R                  " SS5      5      $ )NPIPX_HOME_ALLOW_SPACE0)r   r   getenvr-   s    r   allow_spaces_in_home_path&_PathContext.allow_spaces_in_home_path   s    #:C@AAr   c           	         S[        U R                  5      ;   a5  U R                  (       d$  [        R	                  [        [         S3SS95        U R                  S L=(       a    U R                  R                  5       nU R                  U R                  :g  nU(       aA  U(       a9  [        R                  [        SU R                   SU R                   S3SS95        g g g )N z Found a space in the pipx home path. We heavily discourage this, due to multiple incompatibilities. Please check our docs for more information on this, as well as some pointers on how to migrate to a different home path.z    )subsequent_indentz"Both a specific pipx home folder (z%) and the fallback pipx home folder (zt) exist. If you are done migrating from thefallback to the new location, it is safe to delete the fallback location.)
strr4   rx   loggerwarningr   r
   r(   rS   info)r.   fallback_home_existsspecific_home_existss      r   log_warnings_PathContext.log_warnings   s    #dii. )G)GNN!( #_ _ '.	  $22$>_4CVCVC]C]C_#yyD,?,??$8KK<TYYK H--1-@-@,A Bdd '.	 %9r   )r    r   r"   r'   r!   r%   r   r$   r#   r&   r(   r)   )r   N)__name__
__module____qualname____firstlineno__r   r   __annotations__boolr*   r/   propertyr2   r7   r:   r>   rA   rE   r4   rK   r,   rn   rr   rx   r   __static_attributes__ r   r   r   r   /   s   ~~~%TN"#Hhtn# #t # # !d ! !
 #t # #
 #D # #
 ? ? ? ? ? ? d   JT J Jv8  D     B4 B Br   r   ))loggingr   pathlibr   typingr   platformdirsr   r   r   pipx.constantsr   r	   pipx.emojisr
   r   	pipx.utilr   rY   r4   ra   r[   r]   ri   rk   rm   rX   rZ   r\   r^   rh   rj   rl   	getLoggerr   r~   r}   r   r   ctxr   r   r   r   <module>r      sZ    	   G G ) ) ^F3499;67		f,99;6^F=S8TU		m3v 678yy{\1 yy{%77 , "#34 "#9:         # # 			8	$3 8D> { {| n    r   