+
    Bi3                       R t ^ RIHt ^ RI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 ^ RI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'H(t( ^ RI)H*t* ^ RI+H,t, ^ RI-H.t. ^ RI/H0t0 ^ RI1H2t2H3t3H4t4 ]Pj                  ! ]64      t7]4Pp                  ]4Pr                  ]4Pt                  .t;R R lt< ! R R]4      t=R# )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)#SubprocessBuildEnvironmentInstaller)
WheelCache)
cmdoptions)IndexGroupCommand)SessionCommandMixin)CommandErrorPreviousBuildDirError)LinkCollector)PackageFinder)SelectionPreferences)TargetPython)
PipSession)BuildTracker)RequirementPreparer)install_req_from_editableinstall_req_from_line#install_req_from_parsed_requirementinstall_req_from_req_string)parse_dependency_groups)parse_requirements)InstallRequirement)BaseResolver)TempDirectoryTempDirectoryTypeRegistrytempdir_kindsc                    V ^8  d   QhRRRR/# )   funcr   return )formats   "B/usr/lib/python3.14/site-packages/pip/_internal/cli/req_command.py__annotate__r&   6   s      s s     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"   Noner#   )r$   s   "r%   r&   "with_cleanup.<locals>.__annotate__;   s     * *-F *4 *r'   c                D    \          F  pV P                  VR 4       K  	  R# )FN)KEEPABLE_TEMPDIR_TYPES
set_delete)r*   ts   & r%   configure_tempdir_registry0with_cleanup.<locals>.configure_tempdir_registry;   s    'A5) (r'   c               (    V ^8  d   QhRRRRRRRR/# )	r    selfRequirementCommandoptionsr   argsz	list[Any]r"   z
int | Noner#   )r$   s   "r%   r&   r,   ?   s,       +19B	r'   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   )r4   r6   r7   r1   r!   s   &&&r%   wrapperwith_cleanup.<locals>.wrapper?   se     $$000&t'<'<=	t,,$ 	 't'<'<=	s   A   Ar#   )r!   r<   r1   s   f @r%   with_cleanupr>   6   s    
*   Nr'   c                     a  ] tR t^Rt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# )r5   c               $    V ^8  d   QhRRRRRR/# )r    r7   r   kwr"   r+   r#   )r$   s   "r%   r&   RequirementCommand.__annotate__S   s!     8 8c 8 8 8r'   c                	   < \         SV `  ! V/ VB  V P                  P                  \        P
                  ! 4       4       V P                  P                  \        P                  ! 4       4       R # r9   )super__init__cmd_opts
add_optionr   dependency_groupsr;   )r4   r7   rA   	__class__s   &*,r%   rE   RequirementCommand.__init__S   sK    $%"%  !=!=!?@  !4!4!67r'   c                    V ^8  d   QhRRRR/# )r    r6   r   r"   strr#   )r$   s   "r%   r&   rB   Z   s      F s r'   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_enabledr6   s   &r%   determine_resolver_variant-RequirementCommand.determine_resolver_variantY   s      C CCr'   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   r6   r   build_trackerr   sessionr   finderr   use_user_sitebooldownload_dirz
str | None	verbosityintr"   r   r#   )r$   s   "r%   r&   rB   b   sd     6
 6
%6
 6
 $	6

 6
 6
 6
 !6
 6
 
6
r'   c	                   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       \        R/ RV	bRVP                  bR	VbR
VP                  bR\        V4      bRVP                  bRVbRVbRVP                  bRVbRVP                  bRVbRVbRVbRV
bRVP                  b # )zA
Create a RequirementPreparer instance for the given parameters.
FrO   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_dirsrc_dirr[   build_isolationbuild_isolation_installercheck_build_depsrV   rW   progress_barrX   require_hashesrY   
lazy_wheelr\   legacy_resolverresume_retriesr#   )pathrR   features_enabledloggerwarningr   r`   ra   r   rc   rd   re   rh   )clsrU   r6   rV   rW   rX   rY   r[   r\   temp_build_dir_pathrg   resolver_variantrf   s   &&&&&&&&&    r%   make_requirement_preparer,RequirementCommand.make_requirement_preparera   s[    -11"...99'B|+$(@(@@J" #OJg666Q # 
)
OO
 &
 $33	

 'J&&Q
 %55
 (
 
 !--
 
 #11
 (
 "
  
 ,
  #11!
 	
r'   c               H    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R/# )r    preparerr   rX   r   r6   r   wheel_cachezWheelCache | NonerY   rZ   ignore_installedignore_requires_pythonforce_reinstallupgrade_strategyrL   
use_pep517bool | Nonepy_version_infoztuple[int, ...] | Noner"   r   r#   )r$   s   "r%   r&   rB      s     8
 8
%8
 8
 	8

 '8
 8
 8
 !%8
 8
 8
  8
 08
 
8
r'   c                   \        \        VP                  V
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.
)isolatedry   rO   N)rs   rX   rt   make_install_reqrY   ignore_dependenciesru   rv   rw   rx   r{   )r   r   isolated_moderR   ,pip._internal.resolution.resolvelib.resolver	_internal
resolutionrO   resolverResolverr   (pip._internal.resolution.legacy.resolverrN   )rm   rs   rX   r6   rt   rY   ru   rv   rw   rx   ry   r{   r~   ro   pips   &&&&&&&&&&&&   r%   make_resolver RequirementCommand.make_resolver   s    $ #'**!

 99'B |+?==++66??HH!'!1+$+$?$?!1'= /!1 / I   	8}}''..77@@#-' ' ; ;-#9+-+ A 
 	
r'   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r    r7   z	list[str]r6   r   rX   r   rW   r   r"   zlist[InstallRequirement]r#   )r$   s   "r%   r&   rB      sC     c cc c 	c
 c 
"cr'   c                   . pVP                    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 FD  p	\        V	RVP                  VP                  R\        VRR4      R7      pVP	                  V4       KF  	  VP                  '       dQ   \        VP                  4       F7  p	\        V	VP                  VP                  RR7      pVP	                  V4       K9  	  VP                   FC  p	\        V	RVP                  VP                  \        VRR4      R	7      pVP	                  V4       KE  	  VP                   Fy  p\        WcW$R
7       Fe  p\        TVP                  VP                  RVP                  '       d   VP                  P                  R4      MRR7      pVP	                  V4       Kg  	  K{  	  \         ;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{   RV P$                  /p
VP&                  '       d@   \)        RP*                  ! R/ \-        V
RP/                  VP&                  4      R7      B 4      h\)        RP*                  ! R/ V
B 4      hV# )zC
Parse command-line arguments into the corresponding requirements.
T)
constraintrX   r6   rW   F)r}   user_suppliedNconfig_settings)
comes_fromr}   ry   r   r   )r}   ry   r   )r   r}   ry   r   )rX   r6   rW   )r}   ry   r   r   c              3  8   "   T F  qP                   x  K  	  R # 5ir9   )has_hash_options).0reqs   & r%   	<genexpr>6RequirementCommand.get_requirements.<locals>.<genexpr>!  s     <|##|s   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}")r#   )constraintsr   r   r   appendr   ry   getattrrH   r   r   	editablesr   requirementsr6   getanyre   r   
find_linksr   r$   dictjoin)r4   r7   r6   rX   rW   r   filename
parsed_req
req_to_addr   optss   &&&&&      r%   get_requirements#RequirementCommand.get_requirements   s    24++H0
 A$22"'

 ##J/ , C. .."--" '1BD IJ 
+  $$$.w/H/HI8$22&11"&	
 ##J/ J $$C2" .."-- '1BD IJ 
+ %  ,,H0
 A$22&11"& &--- #**../@A!

 ##J/ -$ 3<|<333<|<<<%)G"    ###(((DII&D!!!">>DfE t388G4F4F+GH  #..4f5 =7;= 
 r'   c                    V ^8  d   QhRRRR/# )r    rX   r   r"   r+   r#   )r$   s   "r%   r&   rB   ;  s     # # #4 #r'   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_locationsrk   info)rX   r   	locationss   &  r%   trace_basic_info#RequirementCommand.trace_basic_info:  s1     ** 88:	KK	" r'   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r    r6   r   rW   r   target_pythonzTargetPython | Nonerv   rz   r"   r   r#   )r$   s   "r%   r&   rB   E  s<     
 

 
 +	

 !,
 

r'   c                    \         P                  ! W!R7      p\        RVP                  VP                  VP
                  VR7      p\        P                  ! VVV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.
rQ   T)allow_yankedformat_controlallow_all_prereleasesprefer_binaryrv   )link_collectorselection_prefsr   )r   creater   r   prer   r   )r4   r6   rW   r   rv   r   r   s   &&&&&  r%   _build_package_finder(RequirementCommand._build_package_finderE  s[     '--gG."11")++!//#9
 ##)+'
 	
r'   r#   )N    )NFTFFzto-satisfy-onlyNN)NN)__name__
__module____qualname____firstlineno__rE   staticmethodrR   classmethodrp   r   r   r   r   __static_attributes____classcell__)rI   s   @r%   r5   r5   R   sp    8 8   6
 6
p 8
 8
tcJ # #
 
r'   r5   )>__doc__
__future__r   logging	functoolsr   optparser   typingr   pip._internal.build_envr   pip._internal.cacher   pip._internal.clir   pip._internal.cli.index_commandr	   r
   pip._internal.exceptionsr   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   &pip._internal.req.req_dependency_groupr   pip._internal.req.req_filer   pip._internal.req.req_installr   pip._internal.resolution.baser   pip._internal.utils.temp_dirr   r   r   	getLoggerr   rk   	BUILD_ENVEPHEM_WHEEL_CACHE	REQ_BUILDr.   r>   r5   r#   r'   r%   <module>r      s    #     G * ( = V H 7 < E ; 4 E @  K 9 < 6  
		8	$ ## 8M
* M
r'   