+
    BiU                       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 ]P,                  ! ]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
PipSessionc                   V ^8  d   QhRR/# )   returnzSSLContext | None )formats   "D/usr/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
8Cgmmo.J  JK  NOs"   A: B! : BB! CCc                  d   a  ] tR t^6t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)   @   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)clsr2   
index_urlsurlurlss   &&   r   _get_index_urls#SessionCommandMixin._get_index_urls?   se     
w
E22';5C!!#&w 2D9d#!!T!r   c                    V ^8  d   QhRRRR/# )r   r2   r   r   r   r   )r   s   "r   r   r)   M   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.   r2   s   &&r   get_default_session'SessionCommandMixin.get_default_sessionM   sE    ==  ..t/B/B7/KLDM ==,,,}}r   c               (    V ^8  d   QhRRRRRRRR/# )r   r2   r   retriesz
int | Nonetimeoutr   r   r   )r   s   "r   r   r)   W   s2     1 11 1 	1
 
1r   c                	v   ^ 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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P.                  VP*                  n        V# )	    r
   zlegacy-certsNzhttp-v2)cacherG   trusted_hostsr;   ssl_contexthttphttpsF)pip._internal.network.sessionr   	cache_dirospathisabsdeprecated_features_enabledr$   joinrG   rL   r>   certverifyclient_certrH   proxyproxies	trust_env	pip_proxyno_inputauth	promptingkeyring_provider)r.   r2   rG   rH   r   rQ   rM   sessions   &&&&    r   rC   "SessionCommandMixin._build_sessionW   sJ    	=%%	i 8 888!D!DD8:KK8A"'',,y)4t&2G!//++G4#
 <<<$\\GN "..GL ???g)0)<g'//GO ===GO !&G 'G &-%5%5!5(/(@(@%r   )r-   )NN)__name__
__module____qualname____firstlineno____doc__r,   classmethodr>   rD   rC   __static_attributes____classcell__)r/   s   @r   r&   r&   6   s5    0 0 " "1 1r   r&   c               $    V ^8  d   QhRRRRRR/# )r   rb   r   r2   r   r   r(   r   )r   s   "r   r   r      s!      Z & T r   c                "    ^ RI Hp V! W4       R# )rJ   )pip_self_version_checkN)!pip._internal.self_outdated_checkrn   )rb   r2   checks   && r   _pip_self_version_checkrq      s    Q	'r   c                  &    ] tR t^tR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   r2   r   r   r(   r   )r   s   "r   r   IndexGroupCommand.__annotate__   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.
r4   N)rG   rH   z6There was an error checking the latest version of pip.zSee below for errorT)exc_info)hasattrdisable_pip_version_checkr4   rC   minrH   rq   	Exceptionr   r   r   )r.   r2   rb   s   && r   handle_pip_version_check*IndexGroupCommand.handle_pip_version_check   s     w
++++,,,0@0@0@	?))Aw/ * G
 '9  	?NNSTLL.L>	?s/   2B .B:B B	B B 7CCr   N)rd   re   rf   rg   rh   r|   rj   r   r   r   rs   rs      s    ? ?r   rs   )rh   
__future__r   loggingrR   r   	functoolsr   optparser   typingr   r   r   pip._internal.cli.base_commandr   !pip._internal.cli.command_contextr   r   r	   rP   r   	getLoggerrd   r   r$   r&   rq   rs   r   r   r   <module>r      s{    #  	 
      2 A8			8	$  ,R- Rj?!4 ?r   