+
    i&                        ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ]'       d   ^ RI	H
t
  ! R R]P                  R	7      tR# )
    )annotationsN)TYPE_CHECKING)BaseDistribution)InstallRequirement)BuildEnvironmentInstallerc                     a  ] tR t^tRtR V 3R llt]P                  R R l4       t]P                  R R l4       t
]P                  R R	 l4       tR
tV ;t# )AbstractDistributionaz  A base class for handling installable artifacts.

The requirements for anything installable are as follows:

 - we must be able to determine the requirement name
   (or we can't correctly handle the non-upgrade case).

 - for packages with setup requirements, we must also be able
   to determine their requirements without installing additional
   packages (for the same reason as run-time dependencies)

 - we must be able to create a Distribution object exposing the
   above metadata.

 - if we need to do work in the build tracker, we must be able to generate a unique
   string to identify the requirement in the build tracker.
c                    V ^8  d   QhRRRR/# )   reqr   returnNone )formats   "f/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_internal/distributions/base.py__annotate__!AbstractDistribution.__annotate__    s      . 4     c                	0   < \         SV `  4        Wn        R # N)super__init__r   )selfr   	__class__s   &&r   r   AbstractDistribution.__init__    s    r   c                   V ^8  d   QhRR/# )r   r   z
str | Noner   )r   s   "r   r   r   %   s     $ $* $r   c                    \        4       h)zA string that uniquely identifies this requirement to the build tracker.

If None, then this dist has no work to do in the build tracker, and
``.prepare_distribution_metadata()`` will not be called.NotImplementedErrorr   s   &r   build_tracker_id%AbstractDistribution.build_tracker_id$   s     "##r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   -   s     $ $+; $r   c                	    \        4       hr   r   r    s   &r   get_metadata_distribution.AbstractDistribution.get_metadata_distribution,   s    !##r   c               (    V ^8  d   QhRRRRRRRR/# )r   build_env_installerr   build_isolationboolcheck_build_depsr   r   r   )r   s   "r   r   r   1   s2     $ $6$ $ 	$
 
$r   c                	    \        4       hr   r   )r   r(   r)   r+   s   &&&&r   prepare_distribution_metadata2AbstractDistribution.prepare_distribution_metadata0   s     "##r   )r   )__name__
__module____qualname____firstlineno____doc__r   abcabstractpropertyr!   abstractmethodr%   r-   __static_attributes____classcell__)r   s   @r   r	   r	      s`    $  	$ $ 	$ $ 	$ $r   r	   )	metaclass)
__future__r   r4   typingr   pip._internal.metadata.baser   pip._internal.reqr   pip._internal.build_envr   ABCMetar	   r   r   r   <module>r@      s*    " 
   8 0A*$S[[ *$r   