Ë
    ð�©jè  ã                  ó2  — d dl m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 d d
lmZ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! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z)  ejT                  e+«      Z, G d„ de«      Z-y)é    )Ú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                  óX   — e Zd ZdZdZdZd
d„Zdd„Zdd„Z	 	 d	 	 	 	 	 	 	 	 	 dd„Z	dd	„Z
y)ÚIndexCommandz=
    Inspect information available from package indexes.
    Tz&
        %prog versions <package>
    c                ój  — t        j                  | j                  «       | j                  j                  t        j                  «       «       | j                  j                  t        j
                  «       «       t        j                  t         j                  | j                  «      }t        j                  t         j                  | j                  «      }| j                  j                  d|«       | j                  j                  d|«       | j                  j                  d| j                  «       y )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      úc/var/www/html/streamforge-license/venv/lib/python3.12/site-packages/pip/_internal/commands/index.pyÚadd_optionszIndexCommand.add_options-   sÌ   € Ü×,Ñ,¨T¯]©]Ô;à�‰× Ñ ¤×!BÑ!BÓ!DÔEØ�‰× Ñ ¤§¡Ó!2Ô3ä×1Ñ1Ü×"Ñ"Ø�K‰Kó
ˆ
ô
 $×5Ñ5Ü×.Ñ.Ø�K‰Kó
ˆð
 	�‰×'Ñ'¨¨:Ô6Ø�‰×'Ñ'¨¨>Ô:Ø�‰×'Ñ'¨¨4¯=©=Õ9ó    c                ó   — d| j                   iS )NÚversions)Úget_available_package_versions)r'   s    r*   Úhandler_mapzIndexCommand.handler_mapA   s   € à˜×;Ñ;ð
ð 	
r,   c                óŠ  — t        j                  |«       | j                  «       }|r|d   |vr4t        j	                  ddj                  t        |«      «      «       t        S |d   }	  ||   ||dd  «       t        S # t        $ r ‚ t        $ r2}t        j	                  |j                  d   «       t        cY d }~S d }~ww xY w)Nr   zNeed an action (%s) to perform.ú, é   )r
   Úcheck_release_control_exclusiver0   ÚloggerÚerrorÚjoinÚsortedr   r   r   Úargsr   )r'   Úoptionsr9   r0   ÚactionÚes         r*   ÚrunzIndexCommand.runF   s·   € Ü×2Ñ2°7Ô;à×&Ñ&Ó(ˆñ �t˜A‘w kÑ1Ü�L‰LØ1Ø—	‘	œ& Ó-Ó.ôô ˆLà�a‘ˆð	ØˆK˜Ñ ¨¨a¨b¨Ô2ô ˆøô "ò 	ØÜò 	Ü�L‰L˜Ÿ™ ™Ô#Ü�Lûð	ús   Á)A> Á>CÂ'B=Â7CÂ=CNc                ó¼   — t        j                  ||¬«      }t        d|j                  |j                  |¬«      }t        j                  ||||j                  ¬«      S )zK
        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   r@   rA   r   rE   )r'   r:   ÚsessionrD   r    rB   rC   s          r*   Ú_build_package_finderz"IndexCommand._build_package_finder`   sa   € ô '×-Ñ-¨g¸wÔGˆô /ØØ#×3Ñ3Ø"×1Ñ1Ø#9ô	
ˆô ×#Ñ#Ø)Ø+Ø'Ø%×7Ñ7ô	
ð 	
r,   c                ó4  — t        |«      dk7  rt        d«      ‚t        j                  |«      }|d   }| j	                  |«      5 }| j                  ||||j                  ¬«      }d„ |j                  |«      D «       }| j                  |t        |«      «      r	d„ |D «       }t        |«      }|st        d|› �«      ‚t        |d¬	«      D �cg c]  }t        |«      ‘Œ }	}|	d   }
d d d «       t        |«      }|j                  r?|	
d
œ}|�t        |j                   «      |d<   t#        t        j$                  |«      «       y t#        |› d
› d�«       t#        dj'                  dj)                  	«      «      «       t+        |
|«       y c c}w # 1 sw Y   Œ«xY w)Nr3   z(You need to specify exactly one argumentr   )r:   rG   rD   r    c              3  ó4   K  — | ]  }|j                   –— Œ y ­w©N)Úversion)Ú.0Ú	candidates     r*   ú	<genexpr>z>IndexCommand.get_available_package_versions.<locals>.<genexpr>Š   s   è ø€ ò +Ø&/�	×!Õ!ñ+ùs   ‚c              3  ó:   K  — | ]  }|j                   rŒ|–— Œ y ­wrK   )Úis_prerelease)rM   rL   s     r*   rO   z>IndexCommand.get_available_package_versions.<locals>.<genexpr>�   s   è ø€ ò Ø '¸7×;PÓ;P”Gñùs   ‚”z#No matching distribution found for T)Úreverse)Únamer.   ÚlatestÚinstalled_versionz (ú)zAvailable versions: {}r2   )Úlenr   r
   Úmake_target_pythonÚ_build_sessionrH   r    Úfind_all_candidatesÚshould_exclude_prereleaser   Úsetr   r8   Ústrr   r!   rL   r   ÚdumpsÚformatr7   r   )r'   r:   r9   rD   ÚqueryrG   Úfinderr.   ÚverÚformatted_versionsrT   ÚdistÚstructured_outputs                r*   r/   z+IndexCommand.get_available_package_versions{   s§  € Üˆt‹9˜Š>ÜÐIÓJÐJä"×5Ñ5°gÓ>ˆØ�Q‘ˆà× Ñ  Ó)ð 	+¨WØ×/Ñ/ØØØ+Ø'.×'EÑ'Eð	 0ó ˆFñ+Ø39×3MÑ3MÈeÓ3Tô+ˆHð ×-Ñ-¨gÔ7HÈÓ7OÔPñØ+3ô�ô ˜8“}ˆHáÜ*Ø9¸%¸ÐAóð ô 7=¸XÈtÔ6TÖ!U¨s¤# c¥(Ð!UÐÐ!UØ'¨Ñ*ˆF÷1	+ô4 *¨%Ó0ˆà�<Š<àØ.Ø ñ!Ðð ÐÜ9<¸T¿\¹\Ó9JÐ!Ð"5Ñ6äœŸ™Ð$5Ó6Õ7ô ˜E˜7 " V H¨AÐ.Ô/ÜÐ1×8Ñ8¸¿¹ÐCUÓ9VÓWÔXÜ(¨°Õ6ùò) "V÷/	+ð 	+ús   ÁBFÃF	ÃFÆ	FÆF)ÚreturnÚNone)rf   z.dict[str, Callable[[Values, list[str]], None]])r:   r   r9   z	list[str]rf   Úint)NF)
r:   r   rG   r   rD   zTargetPython | Noner    Úboolrf   r   )r:   r   r9   z	list[Any]rf   rg   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úignore_require_venvÚusager+   r0   r=   rH   r/   © 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   Ú	getLoggerrj   r5   r   rp   r,   r*   ú<module>r„      sj   ðÝ "ã Û ß .Ý Ý å 9Ý 1å (Ý ;ß 9÷÷ó õ 8Ý <Ý EÝ ;Ý 4Ý 1à	ˆ×	Ñ	˜8Ó	$€ôJ7Ð$õ J7r,   