
    Wh                        d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 ddej
        j         dej
        j         dej
        j         gZe	rddhZd	  ej        ee          D             ZdddZddZddZdS )    )annotationsN)main)WINDOWSpip. z.exec                8    g | ]}d                      |          S )r   )join).0partss     q/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/utils/entrypoints.py
<listcomp>r      s2        	      argslist[str] | Nonereturnintc                ^    t           j                            d           t          |           S )a  Central wrapper for all old entrypoints.

    Historically pip has had several entrypoints defined. Because of issues
    arising from PATH, sys.path, multiple Pythons, their interactions, and most
    of them having a pip installed, users suffer every time an entrypoint gets
    moved.

    To alleviate this pain, and provide a mechanism for warning users and
    directing them to an appropriate place for help, we now define all of
    our old entrypoints as wrappers for the current one.
    a  WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
)sysstderrwriter   )r   s    r   _wrapperr      s1     J	"   ::r   strc                    t           rdnd} t          j                            t          j        |           }t          j                            t          j                            dd                    	                    t          j
                  }t          j                            |          |v }|rt          D ]{}t          j        |          }t          j                            ||          }|rCt          j                            |          r$t          j                            ||          r|c S |t!                       dS )zHTry to figure out the best way to invoke pip in the current environment.ScriptsbinPATHr   z -m pip)r   ospathr
   r   prefixnormcaseenvirongetsplitpathsep_EXECUTABLE_NAMESshutilwhichexistssamefile#get_best_invocation_for_this_python)binary_directorybinary_prefix
path_partsexe_are_in_PATHexe_namefound_executablebinary_executables          r    get_best_invocation_for_this_pipr3   /   s   $+6yyGLL-=>>M !!"*.."<"<==CCBJOOJg&&}55CO  ) 	  	 H%|H55 "]H E E  GNN#455  G$$$%     233<<<<r   c                    t           j        } t          j                            |           }t          j        |          }|rFt          j                            t          j        |          t          j        |                     r|S | S )z<Try to figure out the best way to invoke the current Python.)	r   
executabler   r   basenamer'   r(   samestatlstat)exer0   r1   s      r   r+   r+   J   ss    
.Cw$$H |H--  BG,,RX6F-G-GRUWW  Jr   )N)r   r   r   r   )r   r   )
__future__r   	itertoolsr   r'   r   pip._internal.cli.mainr   pip._internal.utils.compatr   version_infomajorminorr&   _allowed_extensionsproductr   r3   r+    r   r   <module>rD      s.   " " " " " "     				  



 ' ' ' ' ' ' . . . . . . 
"#

 "";#

 ;;3#3#9;; 
  v, &Y&'8:MNN      .= = = =6     r   