+
    ª¬‚jT  ã                  ó  € R t ^ RIHt ^ RIt^ RI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 ]'       d   ^ R	IHt ^ R
IHt ^ RIHt ]P0                  ! ]4      t]R R l4       t ! R R]4      tR R lt ! R R]]4      tR# )a&  
Contains command classes which may interact with an index / the network.

Unlike its sister module, req_command, this module still uses lazy imports
so commands which don't always hit the network (e.g. list w/o --outdated or
--uptodate) don't need waste time importing PipSession and friends.
)ÚannotationsN)Ú	lru_cache)ÚValues)ÚTYPE_CHECKING)Úcertifi)ÚCommand)ÚCommandContextMixIn)Ú
SSLContext)ÚNormalizedName©Ú
PipSessionc               ó   € V ^8„  d   QhRR/# )é   ÚreturnzSSLContext | None© )Úformats   "Ú\/Users/cheyod/AIGC/DSH/.venv/lib/python3.14/site-packages/pip/_internal/cli/index_command.pyÚ__annotate__r   "   s   € ÷ ñ Ð(9ñ ó    c                 ó�  € \         P                  R8  d   \        P                  R4       R#  ^ RIp  ^ RIHp TP                  T P                  4      pTP                  \        P                  ! 4       4       T#   \
         d    \        P                  R4        R# i ; i  \
         d    \        P                  R4        R# i ; i)é   z7Disabling truststore because Python version isn't 3.10+Nz1Disabling truststore since ssl support is missing)Ú
truststorez5Disabling truststore because platform isn't supported)r   é
   )ÚsysÚversion_infoÚloggerÚdebugÚsslÚImportErrorÚwarningÚpip._vendorr   r	   ÚPROTOCOL_TLS_CLIENTÚload_verify_locationsr   Úwhere)r   r   Úctxs      r   Ú_create_truststore_ssl_contextr%   !   s¢   € ä
×Ñ˜'Ô!Ü�‰ÐNÔOÙðÛð
Ý*ð
 ×
Ñ
 × 7Ñ 7Ó
8€CØ×ÑœgŸmšm›oÔ.Ø€Jøô ô Ü�‰ÐJÔKÚðûô ô Ü�‰ÐNÔOÚðús"   ®A: ³B! Á: BÂBÂ! CÃCc                  ód   a € ] tR t^8tRtR V 3R llt]R R l4       tR R ltRR R	 llt	R
t
V ;t# )ÚSessionCommandMixinz=
A class mixin for command classes needing _build_session().
c               ó   € V ^8„  d   QhRR/# )r   r   ÚNoner   )r   s   "r   r   Ú SessionCommandMixin.__annotate__=   s   € ÷ 0ñ 0˜$ñ 0r   c                	ó2   <€ \         SV `  4        R V n        R # )N)ÚsuperÚ__init__Ú_session)ÚselfÚ	__class__s   &€r   r-   ÚSessionCommandMixin.__init__=   s   ø€ Ü‰ÑÔØ+/ˆŽr   c               ó    € V ^8„  d   QhRRRR/# )r   Úoptionsr   r   zlist[str] | Noner   )r   s   "r   r   r*   B   s   € ÷ "ñ " fð "Ð1Añ "r   c                óÜ   € . p\        VRR4      '       g'   \        VRR4      pV'       d   VP                  V4       \        VRR4      pV'       d   VP                  V4       T;'       g    R# )z7Return a list of index urls from user-provided options.Úno_indexFÚ	index_urlNÚextra_index_urls)ÚgetattrÚappendÚextend)Úclsr3   Ú
index_urlsÚurlÚurlss   &&   r   Ú_get_index_urlsÚ#SessionCommandMixin._get_index_urlsA   se   € ð ˆ
Ü�w 
¨E×2Ò2Ü˜' ;°Ó5ˆCßØ×!Ñ! #Ô&Ü�wÐ 2°DÓ9ˆßØ×Ñ˜dÔ#à×!Ð!˜TÐ!r   c               ó    € V ^8„  d   QhRRRR/# )r   r3   r   r   r   r   )r   s   "r   r   r*   O   s   € ÷ ñ ¨6ð °jñ r   c                ó    € V P                   f6   V P                  V P                  V4      4      V n         V P                   f   Q hV P                   # )zGet a default-managed session.)r.   Úenter_contextÚ_build_session)r/   r3   s   &&r   Úget_default_sessionÚ'SessionCommandMixin.get_default_sessionO   sE   € à�=‰=Ò Ø ×.Ñ.¨t×/BÑ/BÀ7Ó/KÓLˆDŒMð —=‘=Ò,Ð,Ð,Ø�}‰}Ðr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r3   r   Úretriesz
int | NoneÚtimeoutr   r   r   )r   s   "r   r   r*   Y   s2   € ÷ 2ñ 2àð2ð ð2ð ð	2ð
 
ñ2r   c           	     	óŒ  € ^ RI Hp VP                  pV'       d(   \        P                  P                  V4      '       g   Q hRVP                  9  d   \        4       pMRpT! V'       d!   \        P                  P                  VR4      MRVe   TMVP                  VP                  VP                  V P                  V4      VR7      pVP                  '       d   VP                  Vn        VP                  '       d   VP                  Vn        VP                   '       g	   V'       d   Ve   TMVP                   Vn        VP"                  '       d8   RVP"                  RVP"                  /Vn        RVn        VP"                  Vn        VP*                  '       * VP,                  n        VP0                  VP,                  n        V# )	é    r   zlegacy-certsNzhttp-v2)ÚcacherH   Úresume_retriesÚtrusted_hostsr<   Ússl_contextÚhttpÚhttpsF)Úpip._internal.network.sessionr   Ú	cache_dirÚosÚpathÚisabsÚdeprecated_features_enabledr%   ÚjoinrH   rM   rN   r?   ÚcertÚverifyÚclient_certrI   ÚproxyÚproxiesÚ	trust_envÚ	pip_proxyÚno_inputÚauthÚ	promptingÚkeyring_provider)r/   r3   rH   rI   r   rS   rO   Úsessions   &&&&    r   rD   Ú"SessionCommandMixin._build_sessionY   sS  € õ 	=à×%Ñ%ˆ	ß¤§¡§¡¨i× 8Ò 8Ð8Ð8à ×!DÑ!DÔDÜ8Ó:‰KàˆKáß8A”"—'‘'—,‘,˜y¨)Ô4ÀtØ&Ò2‘G¸¿¹Ø"×1Ñ1Ø!×/Ñ/Ø×+Ñ+¨GÓ4Ø#ô
ˆð �<�<ˆ<Ø$Ÿ\™\ˆGŒNð ××ÐØ"×.Ñ.ˆGŒLð �?�?ˆ?ŸgØ)0Ò)<™gÀ'Ç/Á/ˆGŒOð �=�=ˆ=à˜Ÿ™Ø˜Ÿ™ðˆGŒOð !&ˆGÔØ '§¡ˆGÔð &-×%5Ñ%5Ô!5ˆ�‰ÔØ(/×(@Ñ(@ˆ�‰Ô%àˆr   )r.   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r-   Úclassmethodr?   rE   rD   Ú__static_attributes__Ú__classcell__)r0   s   @r   r'   r'   8   s5   ø† ñ÷0ð 0ð ô"ó ð"õ÷2õ 2r   r'   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rd   r   r3   r   r   r)   r   )r   s   "r   r   r   Ž   s!   € ÷ ñ  Zð ¸&ð ÀTñ r   c                ó"   € ^ RI Hp V! W4       R# )rK   )Úpip_self_version_checkN)Ú!pip._internal.self_outdated_checkrp   )rd   r3   Úchecks   && r   Ú_pip_self_version_checkrs   Ž   s   € ÝQá	ˆ'Ör   c                  ó2   € ] tR t^”tRtR R ltR R ltRtR# )ÚIndexGroupCommandzŠ
Abstract base class for commands with the index_group options.

This also corresponds to the commands that permit the pip version check.
c               ó$   € V ^8„  d   QhRRRRRR/# )r   r3   r   Úpackage_namer
   r   Úboolr   )r   s   "r   r   ÚIndexGroupCommand.__annotate__›   s$   € ÷ ñ ØðØ-;ðà	ñr   c                ó€   € VP                   '       d,   VP                   P                  V4      pVRJ d   R# VRJ d   R# R# )z=
Determine if pre-releases should be excluded for a package.
TF)Úrelease_controlÚallows_prereleases)r/   r3   rw   Úallow_prereleasess   &&& r   Úshould_exclude_prereleaseÚ+IndexGroupCommand.should_exclude_prerelease›   sB   € ð ×"×"Ð"Ø '× 7Ñ 7× JÑ JÈ<Ó XÐØ  DÓ(ÙØ" eÓ+Ùñ r   c               ó    € V ^8„  d   QhRRRR/# )r   r3   r   r   r)   r   )r   s   "r   r   ry   ¬   s   € ÷ ?ñ ?°ð ?¸4ñ ?r   c                ó¬  € \        VR4      '       g   Q hVP                  '       g   VP                  '       d   R#  V P                  V^ \	        ^VP
                  4      R7      pV;_uu_ 4        \        W!4       RRR4       R#   + '       g   i     R# ; i  \         d1    \        P                  R4       \        P                  RRR7        R# i ; i)zh
Do the pip version check if not disabled.

This overrides the default behavior of not doing the check.
r5   N)rH   rI   z6There was an error checking the latest version of pip.zSee below for errorT)Úexc_info)ÚhasattrÚdisable_pip_version_checkr5   rD   ÚminrI   rs   Ú	Exceptionr   r   r   )r/   r3   rd   s   && r   Úhandle_pip_version_checkÚ*IndexGroupCommand.handle_pip_version_check¬   s¦   € ô �w 
×+Ò+Ð+Ð+à×,×,Ð,°×0@×0@Ð0@Ùð	?à×)Ñ)ØØÜ˜A˜wŸ™Ó/ð *ó ˆG÷
 ’Ü'¨Ô9÷ ——’ûäô 	?Ü�N‰NÐSÔTÜ�L‰LÐ.¸ˆL×>ð	?ús/   ¼2B Á.BÁ:B ÂB	ÂB ÂB Â7CÃCr   N)rf   rg   rh   ri   rj   r~   r‡   rl   r   r   r   ru   ru   ”   s   † ñõ÷"?ñ ?r   ru   )rj   Ú
__future__r   ÚloggingrT   r   Ú	functoolsr   Úoptparser   Útypingr   r    r   Úpip._internal.cli.base_commandr   Ú!pip._internal.cli.command_contextr   r   r	   Úpip._vendor.packaging.utilsr
   rR   r   Ú	getLoggerrf   r   r%   r'   rs   ru   r   r   r   Ú<module>r’      s~   ðñõ #ã Û 	Û 
Ý Ý Ý  å å 2Ý AçÝå:å8à	×	Ò	˜8Ó	$€ð ôó ðô,SÐ-ô Sõlô/?˜Ð!4ö /?r   