§
    
Á³g(  ã            
       óÚ  — 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 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)m*Z* erddl+m,Z,  ej-        e.¦  «        Z/de0de0deee0         ee0e0f         f         fd„Z1 G d„ d¦  «        Z2de0fd„Z3dee0         fd„Z4 G d„ d¦  «        Z5 G d„ de5¦  «        Z6dS )z;Build Environment used for isolation during sdist building
é    N)ÚOrderedDict)ÚTracebackType)ÚTYPE_CHECKINGÚIterableÚListÚOptionalÚSetÚTupleÚTypeÚUnion)Úwhere)ÚRequirement)ÚVersion)Ú__file__)Úopen_spinner)Úget_platlibÚget_purelibÚ
get_scheme)Úget_default_environmentÚget_environment)Úcall_subprocess)ÚTempDirectoryÚtempdir_kinds)ÚPackageFinderÚaÚbÚreturnc                 ó   — | |k    r| |fn| fS ©N© )r   r   s     úU/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pip/_internal/build_env.pyÚ_dedupr"      s   € Ø˜!’V�VˆAˆqˆ6ˆ6 ! Ð%ó    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   € ØˆŒ	ØˆŒ
Ý˜B tÐ,Ñ,Ô,ˆØ”~ˆŒÝ˜vœ~¨v¬~Ñ>Ô>ˆŒˆˆr#   )Ú__name__Ú
__module__Ú__qualname__Ústrr2   r    r#   r!   r%   r%   #   s6   € € € € € ð?˜Sð ? Tð ?ð ?ð ?ð ?ð ?ð ?r#   r%   c                  óÖ   — t          j        t          ¦  «                             ¦   «         j        } |                      ¦   «         st          | ¦  «        S t          j        | dz  ¦  «        S )z¸Get 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_dirr6   ÚosÚfsdecode)Úsources    r!   Úget_runnable_piprA   ,   sV   € õ Œ\�,Ñ'Ô'×/Ò/Ñ1Ô1Ô8€Fà�=Š=‰?Œ?ð õ �6‰{Œ{ÐåŒ;�vÐ 3Ñ3Ñ4Ô4Ð4r#   c                  ó¤   — t          t          d¦  «        rt          j        ¦   «         } nt          ¦   «         t	          ¦   «         g} d„ | D ¦   «         S )zâGet 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>M   s(   € Ð<Ð<Ð< t�BŒG×Ò˜TÑ"Ô"Ð<Ð<Ð<r#   )ÚhasattrÚsiterC   r   r   )Úsystem_sitess    r!   Ú_get_system_sitepackagesrK   <   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)rF   ÚnameÚtemp_dirs     €r!   ú	<genexpr>z,BuildEnvironment.__init__.<locals>.<genexpr>V   sV   øè è € ð %
ð %
àð •7�2œ7Ÿ<š<¨¬°tÑ<Ô<Ñ=Ô=Ð>ð%
ð %
ð %
ð %
ð %
ð %
r#   )ÚnormalÚoverlayrI   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)
                )rJ   r/   )r   r   Ú	BUILD_ENVr   Ú	_prefixesÚ	_bin_dirsÚ	_lib_dirsÚreversedÚlistÚvaluesÚappendr,   Úextendr/   rK   r>   r&   rR   Ú	_site_dirÚexistsÚmkdirÚopenÚwriteÚtextwrapÚdedentÚformat)r0   r)   rJ   ÚfprT   s       @r!   r2   zBuildEnvironment.__init__S   sà  ø€ Ý ¥mÔ&=ÐPTÐUÑUÔUˆå$ð %
ð %
ð %
ð %
à-ð%
ñ %
ô %
ñ 
ô 
ˆŒð
 %'ˆŒØ$&ˆŒÝ�t D¤N×$9Ò$9Ñ$;Ô$;Ñ<Ô<Ñ=Ô=ð 	3ð 	3ˆFØŒN×!Ò! &¤.Ñ1Ô1Ð1ØŒN×!Ò! &¤/Ñ2Ô2Ð2Ð2õ
 0Ñ1Ô1ˆåœŸš h¤m°VÑ<Ô<ˆŒÝŒw�~Š~˜dœnÑ-Ô-ð 	%ÝŒH�T”^Ñ$Ô$Ð$ÝÝŒG�LŠL˜œÐ);Ñ<Ô<¸cÈGð
ñ 
ô 
ð 	àØ�HŠHÝ”ðñô ÷2 ’& l¸T¼^�&ÑLÔLñ5ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	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)rF   rS   s     r!   ú
<dictcomp>z.BuildEnvironment.__enter__.<locals>.<dictcomp>Š   s:   € ð 
ð 
ð 
àð •"”*—.’.  tÑ,Ô,ð
ð 
ð 
r#   )ÚPATHÚPYTHONNOUSERSITEÚ
PYTHONPATHrq   Ú1)
Ú	_save_envr\   rb   Úsplitr>   Úpathseprc   rn   ÚupdaterR   )r0   r&   Úold_pathÚ
pythonpaths       r!   Ú	__enter__zBuildEnvironment.__enter__‰   sÅ   € ð
ð 
àBð
ñ 
ô 
ˆŒð
 Œ~˜a˜a˜aÔ ˆØ”> &Ô)ˆØð 	4Ø�KŠK˜Ÿš¥r¤zÑ2Ô2Ñ3Ô3Ð3à”nÐ%ˆ
å
Œ
×Òåœ
Ÿš¨Ñ-Ô-Ø$'Ý œjŸošo¨jÑ9Ô9ðð ñ	
ô 	
ð 	
ð 	
ð 	
r#   Úexc_typeÚexc_valÚexc_tbc                 ó¨   — | j                              ¦   «         D ]7\  }}|€!t          j                             |d ¦  «         Œ(|t          j        |<   Œ8d S r   )ru   Úitemsr>   rn   Úpop)r0   r|   r}   r~   ÚvarnameÚ	old_values         r!   Ú__exit__zBuildEnvironment.__exit__ž   s^   € ð #'¤.×"6Ò"6Ñ"8Ô"8ð 	0ð 	0ÑˆG�YØÐ Ý”
—’˜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 )	zŽReturn 2 sets:
        - conflicting requirements: set of (installed, wanted) reqs tuples
        - missing requirements: set of reqs
        r]   NÚextrar(   z==z===T)Úprereleases)ÚsetrH   r   r]   r   r   ÚmarkerÚevaluateÚget_distributionrS   ÚaddÚ
isinstanceÚversionr   Ú	specifierÚcontains)	r0   r…   ÚmissingÚconflictingÚenvÚreq_strÚreqÚdistÚinstalled_req_strs	            r!   Úcheck_requirementsz#BuildEnvironment.check_requirementsª   sU  € õ ‘%”%ˆÝ‘e”eˆØñ 	Bõ ˜4 Ñ-Ô-ð/• ¤Ñ/Ô/Ð/å,Ñ.Ô.ð ð
  ð Bð B�Ý! 'Ñ*Ô*�ð ”:Ð)°#´*×2EÒ2EÀwÐPRÀmÑ2TÔ2TÐ)ØØ×+Ò+¨C¬HÑ5Ô5�Øð Ø—K’K Ñ(Ô(Ð(ØÝ˜dœl­GÑ4Ô4ð GØ+.¬8Ð(EÐ(E°t´|Ð(EÐ(EÐ%Ð%à+.¬8Ð(FÐ(F¸¼Ð(FÐ(FÐ%Ø”}×-Ò-¨d¬lÈÐ-ÑMÔMð BØ—O’OÐ%6¸Ð$@ÑAÔAÐAøà˜GÐ#Ð#r#   Úfinderr   ÚrequirementsÚprefix_as_stringrO   c                ó”   — | j         |         }|j        rJ ‚d|_        |sd S |                      t          ¦   «         ||||¬¦  «         d S )NT)rO   )r[   r*   Ú_install_requirementsrA   )r0   rš   r›   rœ   rO   r)   s         r!   Úinstall_requirementsz%BuildEnvironment.install_requirementsÌ   so   € ð ”Ð 0Ô1ˆØ”<ÐÐÐØˆŒØð 	ØˆFØ×"Ò"ÝÑÔØØØØð 	#ñ 	
ô 	
ð 	
ð 	
ð 	
r#   Úpip_runnabler)   c          	      ó0  — t           j        | dddd|j        dg}t                               ¦   «         t
          j        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-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ÚDEBUGra   ÚgetattrÚformat_controlrb   ÚreplacerR   ÚsortedÚ
index_urlsÚ
find_linksÚtrusted_hostsÚallow_all_prereleasesÚprefer_binaryr   r   r   )r    rš   r›   r)   rO   Úargsr´   Úformatsr·   Úextra_indexÚlinkÚhostr¬   r«   s                 r!   rž   z&BuildEnvironment._install_requirementsá   s¯  € õ ŒNØØØ ØØØŒKØ'ð	
ˆõ ×#Ò#Ñ%Ô%­¬Ò6Ð6Ø�KŠK˜ÑÔÐØ:ð 	ð 	ˆNÝ˜fÔ3°^ÑDÔDˆGØ�KŠKà˜>×1Ò1°#°sÑ;Ô;Ñ;Ø—H’H�V GÐ$9°¨zÑ:Ô:Ñ;Ô;ðñô ð ð ð Ô&ˆ
Øð 	&Ø�KŠK˜˜z¨!œ}Ð-Ñ.Ô.Ð.Ø)¨!¨"¨"œ~ð @ð @�Ø—’Ð0°+Ð>Ñ?Ô?Ð?Ð?ð@ð �KŠK˜Ñ%Ô%Ð%ØÔ%ð 	0ð 	0ˆDØ�KŠK˜¨Ð.Ñ/Ô/Ð/Ð/àÔ(ð 	2ð 	2ˆDØ�KŠKÐ)¨4Ð0Ñ1Ô1Ð1Ð1ØÔ'ð 	!Ø�KŠK˜Ñ Ô Ð ØÔð 	+Ø�KŠKÐ)Ñ*Ô*Ð*Ø�Š�DÑÔÐØ�Š�LÑ!Ô!Ð!Ø/µ±´Ð9ˆÝÐ.¨Ð.Ð.Ñ/Ô/ð 	°7ÝØØ@¸$Ð@Ð@ØØ+ð	ñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Ç'HÈHÈH©r   N)r3   r4   r5   Ú__doc__r2   r{   r   r   ÚBaseExceptionr   r„   r   r6   r
   r	   r™   rŸ   Ústaticmethodr%   rž   r    r#   r!   rM   rM   P   sy  € € € € € ØKÐKð4ð 4ð 4ð 4ðl
ð 
ð 
ð 
ð*
0à˜4 Ô.Ô/ð
0ð ˜-Ô(ð
0ð ˜Ô'ð	
0ð
 
ð
0ð 
0ð 
0ð 
0ð $Ø˜S”Mð $à	ˆs�5˜˜c˜”?Ô# S¨¤XÐ-Ô	.ð $ð  $ð  $ð  $ðD
àð
ð ˜s”mð
ð ð	
ð ð
ð 
ð
ð 
ð 
ð 
ð* ð6Øð6àð6ð ˜s”mð6ð ð	6ð ð6ð 
ð6ð 6ð 6ñ „\ð6ð 6ð 6r#   rM   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    ©r0   s    r!   r2   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    )r0   r|   r}   r~   s       r!   r„   zNoOpBuildEnvironment.__exit__$  s	   € ð 	ˆr#   c                 ó   — d S r   r    rÈ   s    r!   ÚcleanupzNoOpBuildEnvironment.cleanup,  rÉ   r#   rš   r   r›   rœ   rO   c                ó   — t          ¦   «         ‚r   )ÚNotImplementedError)r0   rš   r›   rœ   rO   s        r!   rŸ   z)NoOpBuildEnvironment.install_requirements/  s   € õ "Ñ#Ô#Ð#r#   rÁ   )r3   r4   r5   rÂ   r2   r{   r   r   rÃ   r   r„   rÍ   r   r6   rŸ   r    r#   r!   rÆ   rÆ     sì   € € € € € Ø:Ð:ðð ð ð ðð ð ð ðà˜4 Ô.Ô/ðð ˜-Ô(ðð ˜Ô'ð	ð
 
ðð ð ð ðð ð ð ð$àð$ð ˜s”mð$ð ð	$ð ð$ð 
ð$ð $ð $ð $ð $ð $r#   rÆ   )7rÂ   r±   r>   r8   rI   r­   rh   Úcollectionsr   Útypesr   Útypingr   r   r   r   r	   r
   r   r   Úpip._vendor.certifir   Ú"pip._vendor.packaging.requirementsr   Úpip._vendor.packaging.versionr   Úpipr   r:   Úpip._internal.cli.spinnersr   Úpip._internal.locationsr   r   r   Úpip._internal.metadatar   r   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr   r   Ú"pip._internal.index.package_finderr   Ú	getLoggerr3   r¯   r6   r"   r%   rA   rK   rM   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Ø :Ð :Ð :Ð :Ð :Ð :Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eàð AØ@Ð@Ð@Ð@Ð@Ð@à	ˆÔ	˜8Ñ	$Ô	$€ð&ˆcð &�cð &˜e E¨#¤J°°c¸3°h´Ð$?Ô@ð &ð &ð &ð &ð?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð5˜#ð 5ð 5ð 5ð 5ð = # c¤(ð =ð =ð =ð =ð(Hð Hð Hð Hð Hñ Hô Hð HðV$ð $ð $ð $ð $Ð+ñ $ô $ð $ð $ð $r#   