Ë
    ¨Õ°jö2  ã                  óh  — d dl mZ d dlZd dlZd dl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 d dlmZ d d	lmZmZ d d
lmZmZmZmZ d dlmZ d dlmZmZ d dlm Z  d dl!m"Z" d dl#m$Z$ er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.  ej^                  e0«      Z1 G d„ d«      Z2 G d„ d«      Z3y)é    )ÚannotationsN)ÚIterableÚSequence)ÚAbstractContextManager)Únullcontext)ÚStringIO)ÚTYPE_CHECKING)ÚPrefix)Úopen_rich_spinnerÚopen_spinner)ÚBuildDependencyInstallErrorÚDiagnosticPipErrorÚInstallWheelBuildErrorÚPipError)Úget_environment)ÚVERBOSEÚcapture_logging)Úget_runnable_pip)Úcall_subprocess)ÚTempDirectory)Ú
WheelCache)ÚPackageFinder)ÚBuildTracker)ÚInstallRequirement)ÚBaseResolverc                  óB   — e Zd ZdZ	 d	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 dd„Zy)Ú#SubprocessBuildEnvironmentInstallerzD
    Install build dependencies by calling pip in a subprocess.
    Nc                ó(   — || _         |xs g | _        y ©N)ÚfinderÚ_build_constraints)Úselfr    Úbuild_constraintss      úW/var/www/mission/venv/lib/python3.12/site-packages/pip/_internal/build_env/installer.pyÚ__init__z,SubprocessBuildEnvironmentInstaller.__init__*   s   € ð
 ˆŒØ"3Ò"9°rˆÕó    c          
     óô  — | j                   }t        «       dd|j                  ddddddg
}|j                  r|j	                  d	|j                  «       n1|j	                  d	t
        j                  «       |j                  d
«       t        j                  «       t        j                  k  r|j                  d«       n,t        j                  «       t        k  r|j                  d«       dD ][  }t        |j                  |«      }|j                  d|j!                  dd«      z   dj#                  t%        |xs dh«      «      f«       Œ] |j&                  �H|j&                  j)                  «       D ]+  \  }	}
|j                  d|	j!                  dd«      z   |
f«       Œ- |j*                  }|r4|j                  d|d	   g«       |dd  D ]  }|j                  d|g«       Œ n|j                  d«       |j,                  D ]  }|j                  d|g«       Œ |j.                  �|j                  d|j.                  g«       |j0                  r|j                  d«       |j2                  D ]  }|j                  d|g«       Œ |j4                  r|j                  d|j4                  g«       |j6                  r|j                  d|j6                  g«       |j8                  r|j                  d«       |j:                  r,|j                  ddj#                  |j:                  «      g«       | j<                  D ]  }|j                  d|g«       Œ |j>                  r+|j                  d |j>                  jA                  «       g«       |j                  d«       |j                  |«       |r|jB                  rd!|jB                  › �nd}tE        d"|› �«      5 }tG        |d#|› |› �|d$d%i¬&«       d d d «       y # 1 sw Y   y xY w)'NÚinstallz--prefixz	--no-userz--no-warn-script-locationz--disable-pip-version-checkz--no-compilez--targetÚ r   z--ignore-installedz-vvz-v)Ú	no_binaryÚonly_binaryz--Ú_ú-ú,z:none:z-ié   z--extra-index-urlz
--no-indexz--find-linksz--proxyz--no-proxy-envz--trusted-hostz--certz--client-certz--prefer-binaryz--refresh-packagez--build-constraintz--uploaded-prior-toz for úInstalling zinstalling Ú _PIP_IN_BUILD_IGNORE_CONSTRAINTSÚ1)Úcommand_descÚspinnerÚextra_environ)$r    r   ÚpathÚvenv_executableÚinsertÚsysÚ
executableÚappendÚloggerÚgetEffectiveLevelÚloggingÚDEBUGr   ÚgetattrÚformat_controlÚextendÚreplaceÚjoinÚsortedÚrelease_controlÚget_ordered_argsÚ
index_urlsÚ
find_linksÚproxyÚno_proxy_envÚtrusted_hostsÚcustom_certÚclient_certÚprefer_binaryÚrefresh_packager!   Úuploaded_prior_toÚ	isoformatÚnamer   r   )r"   ÚrequirementsÚprefixÚkindÚfor_reqr    ÚargsrA   ÚformatsÚ	attr_nameÚvaluerH   Úextra_indexÚlinkÚhostÚconstraint_fileÚidentify_requirementr4   s                     r$   r(   z+SubprocessBuildEnvironmentInstaller.install2   s®  € ð —‘ˆäÓØð Ø�K‰KØØ'Ø)ð ð Øð%
ˆð( ×!Ò!Ø�K‰K˜˜6×1Ñ1Õ2à�K‰K˜œ3Ÿ>™>Ô*Ø�K‰KÐ,Ô-ä×#Ñ#Ó%¬¯©Ò6Ø�K‰K˜ÕÜ×%Ñ%Ó'¬7Ò2Ø�K‰K˜ÔØ:ò 	ˆNÜ˜f×3Ñ3°^ÓDˆGØ�K‰Kà˜>×1Ñ1°#°sÓ;Ñ;Ø—H‘HœV GÒ$9°¨zÓ:Ó;ðõð	ð ×!Ñ!Ð-ð %+×$:Ñ$:×$KÑ$KÓ$Mò IÑ �	˜5Ø—‘˜T I×$5Ñ$5°c¸3Ó$?Ñ?ÀÐGÕHðIð ×&Ñ&ˆ
ÙØ�K‰K˜˜z¨!™}Ð-Ô.Ø)¨!¨"˜~ò @�Ø—‘Ð0°+Ð>Õ?ñ@ð �K‰K˜Ô%Ø×%Ñ%ò 	0ˆDØ�K‰K˜¨Ð.Õ/ð	0ð �<‰<Ð#Ø�K‰K˜ F§L¡LÐ1Ô2Ø×ÒØ�K‰KÐ(Ô)Ø×(Ñ(ò 	2ˆDØ�K‰KÐ)¨4Ð0Õ1ð	2à×ÒØ�K‰K˜ 6×#5Ñ#5Ð6Ô7Ø×ÒØ�K‰K˜¨&×*<Ñ*<Ð=Ô>Ø×ÒØ�K‰KÐ)Ô*Ø×!Ò!Ø�K‰KÐ,¨c¯h©h°v×7MÑ7MÓ.NÐOÔPð  $×6Ñ6ò 	AˆOØ�K‰KÐ-¨Ð?Õ@ð	Að ×#Ò#Ø�K‰KÐ.°×0HÑ0H×0RÑ0RÓ0TÐUÔVØ�‰�DÔØ�‰�LÔ!ñ '.°'·,²,ˆe�G—L‘L�>Ñ"ÀBð 	ô ˜K¨ vÐ.Ó/ð 	°7ÜØØ*¨4¨&Ð1EÐ0FÐGØØAÀ3ÐGõ	÷	÷ 	ñ 	ús   ÏO.Ï.O7r   )r    r   r#   zlist[str] | NoneÚreturnÚNone©
rT   úIterable[str]rU   r
   rV   ÚstrrW   zInstallRequirement | Nonera   rb   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   r(   © r&   r$   r   r   %   sh   „ ñð /3ð:àð:ð ,ð:ð 
ó	:ðfà#ðfð ðfð
 ðfð +ðfð 
ôfr&   r   c                  ób   — e Zd ZdZdddœ	 	 	 	 	 	 	 	 	 	 	 d
d„Z	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zy	)Ú"InprocessBuildEnvironmentInstallera  
    Install build dependencies via the already running pip process.

    This contains a stripped down version of the install command with
    only the logic necessary for installing build dependencies. The
    finder, session, build tracker, and wheel cache are reused, but new
    instances of everything else are created as needed.

    Options are inherited from the parent install command unless
    they don't make sense for build dependencies (in which case, they
    are hard-coded, see comments below).
    rj   r   )r#   Ú	verbosityc               ó  — ddl m} || _        || _        || _        d| _        t        dd¬«      } |di d| “d|“d|j                  j                  “d	|j                  “d
|“d|“dd“dd “dd“dd“dd“dd“dd“dd“dd“dd“Ž| _
        y )Nr   )ÚRequirementPreparerzbuild-env-installT)rV   Úglobally_managedÚbuild_isolation_installerr    ÚsessionÚ	build_dirÚbuild_trackerrm   Úsrc_dirr)   Údownload_dirÚbuild_isolationÚvirtualÚcheck_build_depsFÚprogress_barÚoffÚrequire_hashesÚuse_user_siteÚ
lazy_wheelÚlegacy_resolverÚallow_editablesrj   )Ú pip._internal.operations.preparero   Ú_finderr!   Ú_wheel_cacheÚ_levelr   Ú_link_collectorrr   r6   Ú	_preparer)r"   r    rt   Úwheel_cacher#   rm   ro   rs   s           r$   r%   z+InprocessBuildEnvironmentInstaller.__init__­   sí   € õ 	IàˆŒØ"3ˆÔØ'ˆÔØˆŒä!Ð':ÈTÔRˆ	Ù,ò 
Ù&*ð
ñ ð
ð ×*Ñ*×2Ò2ð	
ð
  —n’nð
ñ (ð
ñ  ð
ñ ð
ñ ð
ñ &ð
ñ #ð
ñ ð
ñ" !ð#
ñ$  ð%
ñ& ð'
ñ( "ð)
ñ* !ð+
ˆ�r&   c               ó"  — t         j                  t        «       xr | j                  dk(  }|rt	        «       }t        d|› �«      }n3t        t        «       «      t        «       }}t         j                  d|«       	 | xj                  dz  c_        |5  |5 }| j                  ||«       ddd«       ddd«       | xj                  dz  c_        y# 1 sw Y   Œ'xY w# 1 sw Y   Œ+xY w# t        $ ry}	t         j                  t        j                  j                  «       «      «       t         j                  d|	ddi¬	«       t         j                  d
«       t        |||	d¬«      ‚d}	~	wt         $ r…}	t        j                  j                  «       «      j#                  «       }
|s>d}
t%        |	t&        «      rt         j                  d|	«       nt         j)                  d«       t        |||	|
¬«      ‚d}	~	ww xY w# | xj                  dz  c_        w xY w)z@Install entrypoint. Manages output capturing and error handling.r   r0   zInstalling %s ...r/   Nz%sÚrichT)Úextrar)   )ÚcauseÚ	log_lineszpip crashed unexpectedly)r<   ÚisEnabledForr   r„   r   r   r   r   ÚinfoÚ_install_implr   ÚtextwrapÚdedentÚgetvalueÚerrorr   Ú	ExceptionÚ
splitlinesÚ
isinstancer   Ú	exception)r"   rT   rU   rV   rW   Úcapture_logsÚcapture_ctxr4   ÚstreamÚexcÚlogss              r$   r(   z*InprocessBuildEnvironmentInstaller.installÖ   s²  € ô "×.Ñ.¬wÓ7Ð7ÒL¸D¿K¹KÈ1Ñ<LˆÙô 5DÓ4EˆKÜ,=ÀÈDÈ6Ð>RÓ,S‰Gô $/¬x«zÓ#:¼K»M˜ˆKÜ�K‰KÐ+¨TÔ2ð	Ø�KŠK˜1Ñ�KØñ 9˜+ð 9¨Ø×"Ñ" <°Ô8÷9÷ 9ð8 �KŠK˜1ÑŽK÷99ð 9ú÷ 9ð 9ûô "ò 	ô �K‰KœŸ™¨¯©Ó(9Ó:Ô;Ü�L‰L˜˜s¨6°4¨.ˆLÔ9Ü�K‰K˜ŒOÜ-Ø˜¨S¸Dôð ûô ò 	Ü%-§_¡_°V·_±_Ó5FÓ%G×%RÑ%RÓ%TˆDÙð �Ü˜c¤8Ô,Ü—L‘L  sÕ+ä×$Ñ$Ð%?Ô@Ü-Ø˜¨S¸Dôð ûð	ûð �KŠK˜1ÑŽKúsb   Á;C& ÂCÂCÂ(CÂ0C& ÃC	ÃCÃC#ÃC& Ã&	G4Ã/A4E#Å#G4Å/B G/Ç/G4Ç4G7 Ç7Hc                óÖ  — ddl m} ddlm} ddlm} ddlm} |D �cg c]  } ||d¬«      ‘Œ }}|j                  | j                  «       | j                  «       }	|	j                  |d¬«      }
| j                  j                  |
j                  j                  «       «       |
j                   D �cg c]  }|j"                  rŒ|‘Œ }} ||| j$                  dd¬	«      \  }}|rt'        |«      ‚ ||	j)                  |
«      |j*                  d
d
dddd|j,                  ¬«	      }t/        t1        |j2                  «      «      } |||«      x}rt4        j7                  |«       y
y
c c}w c c}w )z$Core build dependency install logic.r   )Úinstalled_packages_summary)Úinstall_given_reqs)Úinstall_req_from_line)ÚbuildT)Úuser_supplied)Úcheck_supported_wheels)Úverifyr€   NFr{   )rU   ÚrootÚhomeÚwarn_script_locationr}   Ú	pycompilerz   Úscript_executable)Úpip._internal.commands.installrž   Úpip._internal.reqrŸ   Úpip._internal.req.constructorsr    Úpip._internal.wheel_builderr¡   rB   r!   Ú_make_resolverÚresolver†   Ú prepare_linked_requirements_morerT   ÚvaluesÚrequirements_to_installÚis_wheelrƒ   r   Úget_installation_orderr6   r7   r   ÚlistÚlib_dirsr<   rŽ   )r"   rT   rU   rž   rŸ   r    r¡   ÚreqÚireqsÚresolverÚresolved_setÚrÚreqs_to_buildr,   Úbuild_failuresÚ	installedÚenvÚsummarys                     r$   r�   z0InprocessBuildEnvironmentInstaller._install_impl
  s[  € åMÝ8ÝHÝ5àKWÖXÀCÑ& s¸$Ö?ÐXˆÐXØ�‰�T×,Ñ,Ô-à×&Ñ&Ó(ˆØ×'Ñ'¨ÀdÐ'ÓKˆØ�‰×7Ñ7Ø×%Ñ%×,Ñ,Ó.ô	
ð
 $×;Ñ;ö
ØÀ1Ç:Ã:ŠAð
ˆð 
ñ "Ø˜4×,Ñ,°TÈ4ô
Ñˆˆ>ñ Ü(¨Ó8Ð8á&Ø×+Ñ+¨LÓ9Ø—;‘;àØØ!&Øð Øà$×4Ñ4ô
ˆ	ô  œd 6§?¡?Ó3Ó4ˆÙ0°¸CÓ@Ð@ˆ7Ð@Ü�K‰K˜Õ ð AùòG Yùò
s   �E!Â/E&ÃE&c                ó~   — ddl m} ddlm}  ||| j                  | j
                  | j                  dddddddd¬«      S )	z'Create a new resolver for one time use.r   )Úinstall_req_from_req_string)ÚResolverFTzto-satisfy-onlyN)Úmake_install_reqÚpreparerr    r‡   Úignore_requires_pythonr}   Úignore_dependenciesÚonly_dependenciesÚignore_installedÚforce_reinstallÚupgrade_strategyÚpy_version_info)r¬   rÂ   Ú,pip._internal.resolution.resolvelib.resolverrÃ   r†   r‚   rƒ   )r"   rÂ   rÃ   s      r$   r®   z1InprocessBuildEnvironmentInstaller._make_resolver7  sJ   € õ 	OÝIáØ8à—^‘^Ø—<‘<Ø×)Ñ)à#(ØØ %Ø#Ø!Ø!Ø.Ø ô
ð 	
r&   N)r    r   rt   r   r‡   r   r#   zSequence[InstallRequirement]rm   Úintra   rb   rc   )rT   rd   rU   r
   ra   rb   )ra   r   )rf   rg   rh   ri   r%   r(   r�   r®   rj   r&   r$   rl   rl   ›   s’   „ ñð. ;=Øñ'
ð ð'
ð $ð	'
ð
  ð'
ð 8ð'
ð ð'
ð 
ó'
ðR2à#ð2ð ð2ð
 ð2ð +ð2ð 
ó2óh+!ôZ
r&   rl   )4Ú
__future__r   r>   r9   r�   Úcollections.abcr   r   Ú
contextlibr   ÚContextManagerr   Úior   Útypingr	   Úpip._internal.build_env.baser
   Úpip._internal.cli.spinnersr   r   Úpip._internal.exceptionsr   r   r   r   Úpip._internal.metadatar   Úpip._internal.utils.loggingr   r   Úpip._internal.utils.miscr   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr   Úpip._internal.cacher   Ú"pip._internal.index.package_finderr   Ú,pip._internal.operations.build.build_trackerr   Úpip._internal.req.req_installr   Úpip._internal.resolution.baser   Ú	getLoggerrf   r<   r   rl   rj   r&   r$   ú<module>rã      s€   ðÝ "ã Û 
Û ß .Ý ?Ý "Ý Ý  å /ß F÷ó õ 3ß @Ý 5Ý :Ý 6áÝ.Ý@ÝIÝ@Ý:ð 
ˆ×	Ñ	˜8Ó	$€÷sñ s÷lr
ò r
r&   