
    жvgX)              
          d Z ddlZddl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lmZmZmZmZmZmZmZmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZm Z  ddl!m"Z"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+m,Z, erddl-m.Z.  ej/        e0          Z1de2de2deee2         ee2e2f         f         fdZ3 G d d          Z4de2fdZ5dee2         fdZ6 G d d          Z7 G d de7          Z8dS )z;Build Environment used for isolation during sdist building
    N)OrderedDict)TracebackType)TYPE_CHECKINGIterableListOptionalSetTupleTypeUnion)where)Version)__file__)open_spinner)get_platlibget_purelib
get_scheme)get_default_environmentget_environment)VERBOSE)get_requirement)call_subprocess)TempDirectorytempdir_kinds)PackageFinderabreturnc                     | |k    r| |fn| fS N )r   r   s     T/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/pip/_internal/build_env.py_dedupr#       s    !VVAq66!%    c                       e Zd ZdeddfdZdS )_Prefixpathr   Nc                     || _         d| _        t          d|          }|j        | _        t          |j        |j                  | _        d S )NF )prefix)	r'   setupr   scriptsbin_dirr#   purelibplatliblib_dirs)selfr'   schemes      r"   __init__z_Prefix.__init__%   sD    	
Bt,,,~v~v~>>r$   )__name__
__module____qualname__strr3   r!   r$   r"   r&   r&   $   s6        ?S ?T ? ? ? ? ? ?r$   r&   c                      t          j        t                                                    j        } |                                 st          |           S t          j        | dz            S )zGet a file to pass to a Python executable, to run the currently-running pip.

    This is used to run a pip subprocess, for installing requirements into the build
    environment.
    z__pip-runner__.py)	pathlibPathpip_locationresolveparentis_dirr7   osfsdecode)sources    r"   get_runnable_piprB   -   sV     \,''//118F==??  6{{;v 33444r$   c                      t          t          d          rt          j                    } nt                      t	                      g} d | D             S )zGet system site packages

    Usually from site.getsitepackages,
    but fallback on `get_purelib()/get_platlib()` if unavailable
    (e.g. in a virtualenv created by virtualenv<20)

    Returns normalized set of strings.
    getsitepackagesc                 L    h | ]!}t           j                            |          "S r!   )r?   r'   normcase).0r'   s     r"   	<setcomp>z+_get_system_sitepackages.<locals>.<setcomp>N   s(    <<<tBGT""<<<r$   )hasattrsiterD   r   r   )system_sitess    r"   _get_system_sitepackagesrL   =   sO     t&'' 6+-- ${}}5<<|<<<<r$   c                   "   e Zd ZdZddZddZdeee                  dee         dee	         ddfd	Z
d
ee         deeeeef                  ee         f         fdZdddee         dededdf
dZededddee         dededdfd            ZdS )BuildEnvironmentzACreates and manages an isolated environment to install build depsr   Nc                    t          t          j        d          t          fddD                       | _        g | _        g | _        t          t          | j        	                                                    D ]@}| j        
                    |j                   | j                            |j                   At                      }t          j                            j        d          | _        t          j                            | j                  st          j        | j                   t+          t          j                            | j        d          dd	          5 }|                    t/          j        d
                              || j                             d d d            d S # 1 swxY w Y   d S )NT)kindglobally_managedc              3      K   | ]8}|t          t          j                            j        |                    fV  9d S r    )r&   r?   r'   join)rG   nametemp_dirs     r"   	<genexpr>z,BuildEnvironment.__init__.<locals>.<genexpr>W   sV       %
 %
 727<<t<<==>%
 %
 %
 %
 %
 %
r$   )normaloverlayrJ   zsitecustomize.pywzutf-8)encodinga  
                import os, site, sys

                # First, drop system-sites related paths.
                original_sys_path = sys.path[:]
                known_paths = set()
                for path in {system_sites!r}:
                    site.addsitedir(path, known_paths=known_paths)
                system_paths = set(
                    os.path.normcase(path)
                    for path in sys.path[len(original_sys_path):]
                )
                original_sys_path = [
                    path for path in original_sys_path
                    if os.path.normcase(path) not in system_paths
                ]
                sys.path = original_sys_path

                # Second, add lib directories.
                # ensuring .pth file are processed.
                for path in {lib_dirs!r}:
                    assert not path in sys.path
                    site.addsitedir(path)
                )rK   r0   )r   r   	BUILD_ENVr   	_prefixes	_bin_dirs	_lib_dirsreversedlistvaluesappendr-   extendr0   rL   r?   r'   rS   	_site_direxistsmkdiropenwritetextwrapdedentformat)r1   r*   rK   fprU   s       @r"   r3   zBuildEnvironment.__init__T   s    m&=PTUUU$ %
 %
 %
 %
-%
 %
 %
 
 

 %'$&tDN$9$9$;$;<<== 	3 	3FN!!&.111N!!&/2222
 011hmV<<w~~dn-- 	%HT^$$$GLL);<<cG
 
 
 	HH 2 &lT^&LL5  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   )AF88F<?F<c                    d dD             | _         | j        d d          }| j         d         }|r2|                    |                    t          j                             | j        g}t          j                            t          j        	                    |          dt          j        	                    |          d           d S )Nc                 P    i | ]#}|t           j                            |d           $S r    )r?   environget)rG   rT   s     r"   
<dictcomp>z.BuildEnvironment.__enter__.<locals>.<dictcomp>   s:     
 
 
 "*..t,,
 
 
r$   )PATHPYTHONNOUSERSITE
PYTHONPATHrr   1)
	_save_envr]   rc   splitr?   pathseprd   ro   updaterS   )r1   r'   old_path
pythonpaths       r"   	__enter__zBuildEnvironment.__enter__   s    
 
B
 
 

 ~aaa >&) 	4KKrz22333n%



--$' jooj99 	
 	
 	
 	
 	
r$   exc_typeexc_valexc_tbc                     | j                                         D ]7\  }}|!t          j                            |d            (|t          j        |<   8d S r    )rv   itemsr?   ro   pop)r1   r}   r~   r   varname	old_values         r"   __exit__zBuildEnvironment.__exit__   s^     #'."6"6"8"8 	0 	0GY 
w----&/
7##		0 	0r$   reqsc                 j   t                      }t                      }|rt          | d          rt          | j                  nt	                      }|D ]}t          |          }|j        |j                            ddi          s5|                    |j	                  }|s|
                    |           gt          |j        t                    r|j	         d|j         }n|j	         d|j         }|j                            |j        d          s|
                    ||f           ||fS )	zReturn 2 sets:
        - conflicting requirements: set of (installed, wanted) reqs tuples
        - missing requirements: set of reqs
        r^   Nextrar)   z==z===T)prereleases)setrI   r   r^   r   r   markerevaluateget_distributionrT   add
isinstanceversionr   	specifiercontains)	r1   r   missingconflictingenvreq_strreqdistinstalled_req_strs	            r"   check_requirementsz#BuildEnvironment.check_requirements   sU    %%ee 	B 4--////,.. 
   B B%g.. :)#*2E2EwPRm2T2T)++CH55 KK(((dlG44 G+.8(E(Et|(E(E%%+.8(F(F(F(F%}--dl-MM BOO%6$@AAAG##r$   finderr   requirementsprefix_as_stringrP   c                    | j         |         }|j        rJ d|_        |sd S |                     t                      ||||           d S )NT)rP   )r\   r+   _install_requirementsrB   )r1   r   r   r   rP   r*   s         r"   install_requirementsz%BuildEnvironment.install_requirements   so      01< 	F"" 	# 	
 	
 	
 	
 	
r$   pip_runnabler*   c                   t           j        | dddd|j        ddddg}t                                          t
          j        k    r|                    d	           n7t                                          t          k    r|                    d
           dD ]h}t          |j
        |          }|                    d|                    dd          z   d                    t          |pdh                    f           i|j        }|rB|                    d|d         g           |dd          D ]}	|                    d|	g           n|                    d           |j        D ]}
|                    d|
g           |j        D ]}|                    d|g           |j        r|                    d           |j        r|                    d           |                    d           |                    |           dt)                      i}t+          d|           5 }t-          |d| ||           d d d            d S # 1 swxY w Y   d S )Ninstallz--ignore-installedz	--no-userz--prefixz--no-warn-script-locationz--disable-pip-version-checkz--targetr)   z-vvz-v)	no_binaryonly_binaryz--_-,z:none:z-ir      z--extra-index-urlz
--no-indexz--find-linksz--trusted-hostz--prez--prefer-binary_PIP_STANDALONE_CERTzInstalling zpip subprocess to install )command_descspinnerextra_environ)sys
executabler'   loggergetEffectiveLevelloggingDEBUGrb   r   getattrformat_controlrc   replacerS   sorted
index_urls
find_linkstrusted_hostsallow_all_prereleasesprefer_binaryr   r   r   )r   r   r   r*   rP   argsr   formatsr   extra_indexlinkhostr   r   s                 r"   r   z&BuildEnvironment._install_requirements   s    N K') 
 ##%%66KK%%''722KK: 	 	Nf3^DDGKK>11#s;;;HHVG$9z::;;    &
 	&KKz!}-...)!""~ @ @0+>????@ KK%%%% 	0 	0DKK.////( 	2 	2DKK)401111' 	!KK    	+KK)***DL!!!/9...// 	7@$@@+	   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   "II
I
r   N)r4   r5   r6   __doc__r3   r|   r   r   BaseExceptionr   r   r   r7   r
   r	   r   r   staticmethodr&   r   r!   r$   r"   rN   rN   Q   sy       KK4 4 4 4l
 
 
 
*
04./
0 -(
0 '	
0
 

0 
0 
0 
0 $SM $	s5c?#SX-	. $  $  $  $D

 sm
 	
 
 

 
 
 
* === sm= 	= = 
= = = \= = =r$   rN   c            
           e Zd ZdZddZddZdeee                  dee         dee	         ddfd	Z
dd
Zdddee         dededdf
dZdS )NoOpBuildEnvironmentz0A no-op drop-in replacement for BuildEnvironmentr   Nc                     d S r    r!   r1   s    r"   r3   zNoOpBuildEnvironment.__init__&      r$   c                     d S r    r!   r   s    r"   r|   zNoOpBuildEnvironment.__enter__)  r   r$   r}   r~   r   c                     d S r    r!   )r1   r}   r~   r   s       r"   r   zNoOpBuildEnvironment.__exit__,  s	     	r$   c                     d S r    r!   r   s    r"   cleanupzNoOpBuildEnvironment.cleanup4  r   r$   r   r   r   r   rP   c                    t                      r    )NotImplementedError)r1   r   r   r   rP   s        r"   r   z)NoOpBuildEnvironment.install_requirements7  s     "###r$   r   )r4   r5   r6   r   r3   r|   r   r   r   r   r   r   r   r7   r   r!   r$   r"   r   r   #  s        ::      4./ -( '	
 
      $$ sm$ 	$ $ 
$ $ $ $ $ $r$   r   )9r   r   r?   r9   rJ   r   ri   collectionsr   typesr   typingr   r   r   r   r	   r
   r   r   pip._vendor.certifir   pip._vendor.packaging.versionr   pipr   r;   pip._internal.cli.spinnersr   pip._internal.locationsr   r   r   pip._internal.metadatar   r   pip._internal.utils.loggingr   pip._internal.utils.packagingr   pip._internal.utils.subprocessr   pip._internal.utils.temp_dirr   r   "pip._internal.index.package_finderr   	getLoggerr4   r   r7   r#   r&   rB   rL   rN   r   r!   r$   r"   <module>r      s     				   



  # # # # # #       S S S S S S S S S S S S S S S S S S S S % % % % % % 1 1 1 1 1 1 ( ( ( ( ( ( 3 3 3 3 3 3 H H H H H H H H H H K K K K K K K K / / / / / / 9 9 9 9 9 9 : : : : : : E E E E E E E E A@@@@@@		8	$	$&c &c &eE#Jc3h$?@ & & & &? ? ? ? ? ? ? ?5# 5 5 5 5 =#c( = = = =(O O O O O O O Od$ $ $ $ $+ $ $ $ $ $r$   