
    'j                    2   S SK Jr  S SKrS SKrS SKJrJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJrJr  S SKJrJr  S SKJrJrJrJr  S SKJr  S SK J!r!  S SK"J#r#  S SK$J%r%  S SK&J'r'  S SK(J)r)  \RT                  " \+5      r, " S S\5      r-g)    )annotationsN)CallableIterable)Values)Any)canonicalize_name)Version)
cmdoptions)IndexGroupCommand)ERRORSUCCESS)get_installed_distributionprint_dist_installation_info)CommandErrorDiagnosticPipErrorDistributionNotFoundPipError)LinkCollector)PackageFinder)SelectionPreferences)TargetPython)
PipSession)write_outputc                  l    \ rS rSrSrSrSrSS jrSS jrSS jr	  S         SS	 jjr
SS
 jrSrg)IndexCommand#   z5
Inspect information available from package indexes.
Tz&
        %prog versions <package>
    c                t   [         R                  " U R                  5        U R                  R                  [         R                  " 5       5        U R                  R                  [         R
                  " 5       5        [         R                  " [         R                  U R                  5      n[         R                  " [         R                  U R                  5      nU R                  R                  SU5        U R                  R                  SU5        U R                  R                  SU R                  5        g )Nr   )r
   add_target_python_optionscmd_opts
add_optionignore_requires_pythonjsonmake_option_groupindex_groupparserpackage_selection_groupinsert_option_group)self
index_optsselection_optss      T/var/www/html/KUNJ/venv/lib/python3.13/site-packages/pip/_internal/commands/index.pyadd_optionsIndexCommand.add_options-   s    ,,T]];  !B!B!DE  !2311""KK


 $55..KK

 	'':6''>:''4==9    c                    SU R                   0$ )Nversions)get_available_package_versions)r(   s    r+   handler_mapIndexCommand.handler_mapA   s    ;;
 	
r.   c                   [         R                  " U5        U R                  5       nU(       a	  US   U;  a4  [        R	                  SSR                  [        U5      5      5        [        $ US   n X4   " XSS  5        [        $ ! [         a    e [         a2  n[        R	                  UR                  S   5        [        s S nA$ S nAff = f)Nr   zNeed an action (%s) to perform.,    )r
   check_release_control_exclusiver2   loggererrorjoinsortedr   r   r   argsr   )r(   optionsr<   r2   actiones         r+   runIndexCommand.runF   s    227;&&( tAwk1LL1		&-. La	ab2  " 	 	LL#L	s   1B C
'C?C
C
Nc                    [         R                  " X!S9n[        SUR                  UR                  US9n[
        R                  " UUUUR                  S9$ )z;
Create a package finder appropriate to the index command.
)r=   F)allow_yankedrelease_controlformat_controlr!   )link_collectorselection_prefstarget_pythonuploaded_prior_to)r   creater   rD   rE   r   rI   )r(   r=   sessionrH   r!   rF   rG   s          r+   _build_package_finder"IndexCommand._build_package_finder`   s_     '--gG /#33"11#9	
 ##)+'%77	
 	
r.   c                \   [        U5      S:w  a  [        S5      e[        R                  " U5      nUS   nU R	                  U5       nU R                  UUUUR                  S9nS UR                  U5       5       nU R                  U[        U5      5      (       a	  S U 5       n[        U5      nU(       d  [        SU 35      e[        USS	9 Vs/ s H  n[        U5      PM     n	nU	S   n
S S S 5        [        U5      nUR                  (       aA  UW	W
S
.nUb  [        UR                   5      US'   [#        [        R$                  " U5      5        g [#        U SW
 S35        [#        SR'                  SR)                  W	5      5      5        [+        X5        g s  snf ! , (       d  f       N= f)Nr6   z(You need to specify exactly one argumentr   )r=   rK   rH   r!   c              3  8   #    U  H  oR                   v   M     g 7fN)version).0	candidates     r+   	<genexpr>>IndexCommand.get_available_package_versions.<locals>.<genexpr>   s      +3Ti!!3Ts   c              3  J   #    U  H  oR                   (       a  M  Uv   M     g 7frP   )is_prerelease)rR   rQ   s     r+   rT   rU      s      +3;P;PGG8s   #	#z#No matching distribution found for T)reverse)namer0   latestinstalled_versionz ()zAvailable versions: {}r5   )lenr   r
   make_target_python_build_sessionrL   r!   find_all_candidatesshould_exclude_prereleaser   setr   r;   strr   r"   rQ   r   dumpsformatr:   r   )r(   r=   r<   rH   queryrK   finderr0   verformatted_versionsrZ   diststructured_outputs                r+   r1   +IndexCommand.get_available_package_versions{   s   t9>IJJ"55g>Q  )W//+'.'E'E	 0 F+393M3Me3T+H --g7H7OPP+3 8}H*9%A  7=Xt6T!U6Ts#c(6T!U'*F1 *4 *%0<<. ! 9<T\\9J!"56$567 E7"VHA./188CU9VWX(6) "V/ *)s   B
FF&FF
F+ )returnNone)rn   z.dict[str, Callable[[Values, list[str]], None]])r=   r   r<   z	list[str]rn   int)NF)
r=   r   rK   r   rH   zTargetPython | Noner!   boolrn   r   )r=   r   r<   z	list[Any]rn   ro   )__name__
__module____qualname____firstlineno____doc__ignore_require_venvusager,   r2   r@   rL   r1   __static_attributes__rm   r.   r+   r   r   #   sg     E:(

< .2',

 
 +	

 !%
 

627r.   r   ).
__future__r   r"   loggingcollections.abcr   r   optparser   typingr   pip._vendor.packaging.utilsr   pip._vendor.packaging.versionr	   pip._internal.clir
   pip._internal.cli.req_commandr   pip._internal.cli.status_codesr   r   pip._internal.commands.searchr   r   pip._internal.exceptionsr   r   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.utils.miscr   	getLoggerrr   r8   r   rm   r.   r+   <module>r      sh    "   .   9 1 ( ; 9  8 < E ; 4 1			8	$J7$ J7r.   