+
    UiLD                    N   R t ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
HtHt ^ RIHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHtHtHt ^ RIHt ^ RI H!t! ^ RI"H#t# ^ RI$H%t% ^ RI&H't' ^ RI(H)t) ^ RI*H+t+ ^ RI,H-t-H.t.H/t/H0t0H1t1 ^ RI2H3t3H4t4 ^ RI5H6t6 ^ RI7H8t8 ^ RI9H:t: ^ RI;H<t< ^ RI=H>t> ^ RI?H@t@HAtA ^ RIBHCtCHDtDHEtE ]P                  ! ]G4      tHR R ltI]EP                  ]EP                  ]EP                  .tM]! RR R!7      tNR" R# ltOR$ R% ltP ! R& R ]4      tQR# )'zContains the RequirementCommand base class.

This class is in a separate module so the commands that do not always
need PackageFinder capability don't unnecessarily import the
PackageFinder machinery and all its vendored dependencies, etc.
)annotationsN)partial)Values)AnyCallableTypeVar)BuildEnvironmentInstaller"InprocessBuildEnvironmentInstaller#SubprocessBuildEnvironmentInstaller)
WheelCache)
cmdoptions)make_target_python)IndexGroupCommand)SessionCommandMixin)CommandErrorPreviousBuildDirErrorUnsupportedPythonVersion)LinkCollector)PackageFinder)SelectionPreferences)TargetPython)
PipSession)BuildTracker)RequirementPreparer)install_req_from_editableinstall_req_from_line#install_req_from_parsed_requirementinstall_req_from_pylock_packageinstall_req_from_req_string)PEP723Exceptionpep723_metadata)parse_dependency_groups)parse_requirements)InstallRequirement)BaseResolver)check_requires_python)is_valid_pylock_filenameselect_from_pylock_path_or_url)TempDirectoryTempDirectoryTypeRegistrytempdir_kindsc                    V ^8  d   QhRRRR/# )   optionsr   returnbool )formats   "[/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pip/_internal/cli/req_command.py__annotate__r3   @   s     E Ev E$ E    c                F    \         P                  P                  R4      R8H  # )z
Check if regular constraints should be ignored because
we are in a isolated build process and build constraints
feature is enabled but no build constraints were passed.
 _PIP_IN_BUILD_IGNORE_CONSTRAINTS1)osenvirongetr-   s   &r2   !should_ignore_regular_constraintsr<   @   s     ::>><=DDr4   	_CommandTRequirementCommand)boundc                    V ^8  d   QhRRRR/# )r,   funcz-Callable[[_CommandT, Values, list[str]], int]r.   r0   )r1   s   "r2   r3   r3   T   s      
72r4   c                *   a a R R loR VV 3R llpV# )zFDecorator for common logic related to managing temporary
directories.
c                    V ^8  d   QhRRRR/# )r,   registryr)   r.   Noner0   )r1   s   "r2   r3   "with_cleanup.<locals>.__annotate__[   s     * *-F *4 *r4   c                D    \          F  pV P                  VR 4       K  	  R# )FN)KEEPABLE_TEMPDIR_TYPES
set_delete)rD   ts   & r2   configure_tempdir_registry0with_cleanup.<locals>.configure_tempdir_registry[   s    'A5) (r4   c               (    V ^8  d   QhRRRRRRRR/# )	r,   selfr=   r-   r   args	list[str]r.   intr0   )r1   s   "r2   r3   rF   _   s(      i & 	 c r4   c                   < V P                   f   Q hVP                  '       d   S! V P                   4        S! WV4      #   \         d    S! T P                   4       h i ; iN)tempdir_registryno_cleanr   )rN   r-   rO   rK   rA   s   &&&r2   wrapperwith_cleanup.<locals>.wrapper_   sc    $$000&t'<'<=	t,,$ 	 't'<'<=	s   A   Ar0   )rA   rV   rK   s   f @r2   with_cleanuprX   T   s    *  Nr4   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r,   constraint_filesrP   finderr   r-   r   sessionr   r.   list[InstallRequirement]r0   )r1   s   "r2   r3   r3   p   s:        	
 r4   c           	         . pV  FC  p\        VR VVVR7       F,  p\        VVP                  RR7      pVP                  V4       K.  	  KE  	  V# )T)
constraintr[   r-   r\   Fisolateduser_supplied)r"   r   isolated_modeappend)rZ   r[   r-   r\   requirementsfilename
parsed_req
req_to_adds   &&&&    r2   parse_constraint_filesri   p   sd     L$,
J = ..#J
 
+
 % r4   c                     a  ] tR t^tR V 3R llt]R R l4       t]RR R ll4       t]RR R ll4       t	R	 R
 lt
]R R l4       tRR R lltRtV ;t# )r>   c               $    V ^8  d   QhRRRRRR/# )r,   rO   r   kwr.   rE   r0   )r1   s   "r2   r3   RequirementCommand.__annotate__   s!     8 8c 8 8 8r4   c                	   < \         SV `  ! V/ VB  V P                  P                  \        P
                  ! 4       4       V P                  P                  \        P                  ! 4       4       R # rS   )super__init__cmd_opts
add_optionr   dependency_groupsrU   )rN   rO   rl   	__class__s   &*,r2   rp   RequirementCommand.__init__   sK    $%"%  !=!=!?@  !4!4!67r4   c                    V ^8  d   QhRRRR/# )r,   r-   r   r.   strr0   )r1   s   "r2   r3   rm      s      F s r4   c                ,    RV P                   9   d   R# R# )zEDetermines which resolver should be used, based on the given options.zlegacy-resolverlegacy
resolvelib)deprecated_features_enabledr;   s   &r2   determine_resolver_variant-RequirementCommand.determine_resolver_variant   s      C CCr4   c               <    V ^8  d   QhRRRRRRRRR	R
RRRRRRRR/	# )r,   temp_build_dirr(   r-   r   build_trackerr   r\   r   r[   r   use_user_siter/   download_dirz
str | None	verbosityrQ   r.   r   r0   )r1   s   "r2   r3   rm      so     N
 N
%N
 N
 $	N

 N
 N
 N
 !N
 N
 
N
r4   c	                v   VP                   p	V	f   Q hRp
V P                  V4      pVR8X  d.   RVP                  9   pV'       d   \        P	                  R4       M*Rp
RpRVP                  9   d   \        P	                  R4       \        VR. 4      pRVP                  9   pR	VP                  9   d1   \        WW$4      p\        VVVV\        VP                  4      R
7      pM\        VVVR7      p\        V	VP                  VVP                  VVP                  VVVP                  VVP                   VVVV
R7      # )zA
Create a RequirementPreparer instance for the given parameters.
Frz   z	fast-depszpip is using lazily downloaded wheels using HTTP range requests to obtain dependency information. This experimental feature is enabled through --use-feature=fast-deps and it is not ready for production.Tz;fast-deps has no effect when used with the legacy resolver.build_constraintszbuild-constraintzinprocess-build-deps)r[   r   r   r   wheel_cache)r    build_constraint_feature_enabled)	build_dirsrc_dirr   build_isolationbuild_isolation_installercheck_build_depsr   r\   progress_barr[   require_hashesr   
lazy_wheelr   legacy_resolver)pathr|   features_enabledloggerwarninggetattrri   r	   r   	cache_dirr
   r   r   r   r   r   r   )clsr   r-   r   r\   r[   r   r   r   temp_build_dir_pathr   resolver_variantr   r   r   build_constraint_reqsenv_installers   &&&&&&&&&        r2   make_requirement_preparer,RequirementCommand.make_requirement_preparer   sa    -11"...99'B|+$(@(@@J" #OJg666Q
 $G-@"E'":":: 	)
 "W%=%==$:!7%! ?+"7#&w'8'89M @"31QM #)OO%#33&3$55' --"11'!+
 	
r4   c               D    V ^8  d   QhRRRRRRRRR	R
RR
RR
RR
RRRRRR/# )r,   preparerr   r[   r   r-   r   r   zWheelCache | Noner   r/   ignore_installedignore_requires_pythonforce_reinstallupgrade_strategyrw   py_version_infoztuple[int, ...] | Noner.   r$   r0   )r1   s   "r2   r3   rm      sx     6
 6
%6
 6
 	6

 '6
 6
 6
 !%6
 6
 6
 06
 
6
r4   c                   \        \        VP                  R7      pV P                  V4      pVR8X  dS   ^ RIpVP
                  P                  P                  P                  P                  VVVVVVP                  VVVV	V
R7      # ^ RIpVP
                  P                  P                  P                  P                  VVVVVVP                  VVVV	V
R7      # )z6
Create a Resolver instance for the given parameters.
)ra   rz   N)r   r[   r   make_install_reqr   ignore_dependenciesr   r   r   r   r   )r   r   rc   r|   ,pip._internal.resolution.resolvelib.resolver	_internal
resolutionrz   resolverResolverr   (pip._internal.resolution.legacy.resolverry   )r   r   r[   r-   r   r   r   r   r   r   r   r   r   pips   &&&&&&&&&&&   r2   make_resolver RequirementCommand.make_resolver   s    " #'**
 99'B |+?==++66??HH!'!1+$+$?$?!1'= /!1 / I   	8}}''..77@@#-' ' ; ;-#9+-+ A 
 	
r4   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r,   rO   rP   r-   r   r[   r   r\   r   r.   r]   r0   )r1   s   "r2   r3   rm   "  sC     N NN N 	N
 N 
"Nr4   c                   . p\        V4      '       g)   \        VP                  W2V4      pVP                  V4       V FQ  pVP	                  4       '       g   K  \        VRVP                  R\        VRR4      R7      pVP                  V4       KS  	  VP                  '       dF   \        VP                  4       F,  p\        VVP                  RR7      pVP                  V4       K.  	  VP                   F8  p\        VRVP                  \        VRR4      R7      pVP                  V4       K:  	  VP                   F  p	\        V	4      '       dV   \         P#                  R4       \%        WR7       F.  w  rVP                  \'        V
VV	VP(                  RR	7      4       K0  	  Ki  \+        WW$R
7       FZ  p\-        TVP                  RVP.                  '       d   VP.                  P1                  R4      MRR7      pVP                  V4       K\  	  K  	  VP2                  '       d   \5        VP2                  4      ^8  d   \7        R4      hVP2                  ^ ,          p \9        V4      pTP1                  RR4      pT'       d[   TP>                  '       gI   \A        T4      p\C        TTPD                  R7      '       g!   \G        RT: RTPH                   RT: 24      hTP1                  R. 4       F,  p\        TTP                  RR7      pTP                  T4       K.  	  \J        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   RVn&        V'       g   VP                  '       g   VP                  '       g   VP                  '       g   VP2                  '       g{   RV PN                  /pVPP                  '       d@   \7        RPR                  ! R/ \U        VRPW                  VPP                  4      R7      B 4      h\7        RPR                  ! R/ VB 4      hV#   \:         d   p\7        TP<                  4      hRp?ii ; i)zC
Parse command-line arguments into the corresponding requirements.
NTconfig_settings)
comes_fromra   rb   r   r`   )rb   ra   r   zUsing pylock.toml as a requirements source is an experimental feature. It may be removed/changed in a future release without prior warning.)r\   )rb   )r[   r-   r\   )ra   rb   r   z1--requirements-from-script can only be given oncezrequires-python )requires_pythonversion_infozScript z requires a different Python: z not in dependenciesc              3  8   "   T F  qP                   x  K  	  R # 5irS   )has_hash_options).0reqs   & r2   	<genexpr>6RequirementCommand.get_requirements.<locals>.<genexpr>  s     <|##|s   FnamezXYou must give at least one requirement to {name} (maybe you meant "pip {name} {links}"?) )linkszHYou must give at least one requirement to {name} (see "pip help {name}")r0   ),r<   ri   constraintsextendstripr   rc   r   rd   rs   r!   r   	editablesr   re   r&   r   r   r'   r   format_controlr"   r   r-   r:   requirements_from_scriptslenr   r    r   msgr   r   r%   r   r   
py_versionanyr   r   
find_linksr1   dictjoin)rN   rO   r-   r[   r\   re   r   r   rh   rf   packagepackage_distrg   scriptscript_metadataexcscript_requires_pythontarget_pythonoptss   &&&&&              r2   get_requirements#RequirementCommand.get_requirements"  s    240990##VgK ,C99;;. .." '1BD IJ 
+  $$$.w/H/HI8$22"&

 ##J/ J $$C2" .. '1BD I	J 
+ %  ,,H'11- .L.)G !''7#($#22*.. 0
 A$22"& &--- #**../@A!	
 ##J/+ -H ,,,74459"#VWW66q9F,"1&"9 &5%8%89JB%O"%g.L.L.L 27 ;,$:!.!>!>  3!&+I(334H=S<VX 
 '**>2>8$22"&

 ##J/ ? 3<|<333<|<<<%)G"    ###(((000DII&D!!!">>DfE t388G4F4F+GH  #..4f5 =7;= 
 e # ,"377++,s   !P/ /Q:QQc                    V ^8  d   QhRRRR/# )r,   r[   r   r.   rE   r0   )r1   s   "r2   r3   rm     s     # # #4 #r4   c                |    V P                   pVP                  4       pV'       d   \        P                  V4       R# R# )z5
Trace basic information about the provided objects.
N)search_scopeget_formatted_locationsr   info)r[   r   	locationss   &  r2   trace_basic_info#RequirementCommand.trace_basic_info  s1     ** 88:	KK	" r4   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r,   r-   r   r\   r   r   zTargetPython | Noner   r/   r.   r   r0   )r1   s   "r2   r3   rm     s<     
 

 
 +	

 !%
 

r4   c                    \         P                  ! W!R7      p\        RVP                  VP                  VP
                  VR7      p\        P                  ! VVVVP                  R7      # )z
Create a package finder appropriate to this requirement command.

:param ignore_requires_python: Whether to ignore incompatible
    "Requires-Python" values in links. Defaults to False.
r;   T)allow_yankedr   release_controlprefer_binaryr   )link_collectorselection_prefsr   uploaded_prior_to)r   creater   r   r   r   r   r   )rN   r-   r\   r   r   r   r   s   &&&&&  r2   _build_package_finder(RequirementCommand._build_package_finder  sf     '--gG."11#33!//#9
 ##)+'%77	
 	
r4   r0   )N    )NFTFFzto-satisfy-onlyN)NF)__name__
__module____qualname____firstlineno__rp   staticmethodr|   classmethodr   r   r   r   r   __static_attributes____classcell__)rt   s   @r2   r>   r>      sr    8 8   N
 N
` 6
 6
pN` # #
 
r4   )R__doc__
__future__r   loggingr8   	functoolsr   optparser   typingr   r   r   pip._internal.build_envr   r	   r
   pip._internal.cacher   pip._internal.clir   pip._internal.cli.cmdoptionsr   pip._internal.cli.index_commandr   r   pip._internal.exceptionsr   r   r   pip._internal.index.collectorr   "pip._internal.index.package_finderr   $pip._internal.models.selection_prefsr   "pip._internal.models.target_pythonr   pip._internal.network.sessionr   ,pip._internal.operations.build.build_trackerr    pip._internal.operations.preparer   pip._internal.req.constructorsr   r   r   r   r   pip._internal.req.pep723r   r    &pip._internal.req.req_dependency_groupr!   pip._internal.req.req_filer"   pip._internal.req.req_installr#   pip._internal.resolution.baser$   pip._internal.utils.packagingr%   pip._internal.utils.pylockr&   r'   pip._internal.utils.temp_dirr(   r)   r*   	getLoggerr   r   r<   	BUILD_ENVEPHEM_WHEEL_CACHE	REQ_BUILDrH   r=   rX   ri   r>   r0   r4   r2   <module>r     s    #  	   ) ) 
 + ( ; = V 
 8 < E ; 4 E @  F J 9 < 6 ?  
		8	$E ##  K';<	82O
* O
r4   