+
    ic                      a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
Ht ^ RIHtHt ^ RIHt ^RIHtHtHt ]P*                  ! ]4      t]! ]P2                  ! 4       4      t]! ]RR4      tR	]R
&   R R ltR R ltR R lt R R lt!. ROt"]PF                  ! R4      e   ]"PI                  R4       RR R llt%R R lt&R R lt'R R lt(R# )    )annotationsN)Callable)InvalidSchemeCombinationUserInstallationInvalid)SCHEME_KEYSScheme)running_under_virtualenv)change_rootget_major_minor_versionis_osx_frameworkget_preferred_schemezCallable[[str], str] | None_PREFERRED_SCHEME_APIc                   V ^8  d   QhRR/# )   returnbool )formats   "h/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_internal/locations/_sysconfig.py__annotate__r   !   s      $     c                 f    R\         9   ;'       d"    \        4       '       * ;'       d    \        4       # )ax  Check for Apple's ``osx_framework_library`` scheme.

Python distributed by Apple's Command Line Tools has this special scheme
that's used when:

* This is a framework build.
* We are installing into the system prefix.

This does not account for ``pip install --prefix`` (also means we're not
installing to the system prefix), which should use ``posix_prefix``, but
logic here means ``_infer_prefix()`` outputs ``osx_framework_library``. But
since ``prefix`` is not available for ``sysconfig.get_default_scheme()``,
which is the stdlib replacement for ``_infer_prefix()``, presumably Apple
wouldn't be able to magically switch between ``osx_framework_library`` and
``posix_prefix``. ``_infer_prefix()`` returning ``osx_framework_library``
means its behavior is consistent whether we use the stdlib implementation
or our own, and we deal with this special case in ``get_scheme()`` instead.
osx_framework_library)_AVAILABLE_SCHEMESr	   r   r   r   r    _should_use_osx_framework_prefixr   !   s5    ( 	 #55 	 	(**	 	r   c                   V ^8  d   QhRR/# r   r   strr   )r   s   "r   r   r   ;   s      s r   c                    \         '       d   \        R4      # \        4       '       d   R# \        P                  P                   R\
        P                   2p V \        9   d   V # \        P                  P                  \        9   d   \        P                  P                  # \
        P                   R2pV\        9   d   V# \
        P                  \        9   d   \
        P                  # R# )a  Try to find a prefix scheme for the current platform.

This tries:

* A special ``osx_framework_library`` for Python distributed by Apple's
  Command Line Tools, when not running in a virtual environment.
* Implementation + OS, used by PyPy on Windows (``pypy_nt``).
* Implementation without OS, used by PyPy on POSIX (``pypy``).
* OS + "prefix", used by CPython on POSIX (``posix_prefix``).
* Just the OS name, used by CPython on Windows (``nt``).

If none of the above works, fall back to ``posix_prefix``.
prefixr   __prefixposix_prefix)r   r   sysimplementationnameosr   )implementation_suffixedsuffixeds     r   _infer_prefixr*   ;   s     $X..'))&!$!3!3!8!8 9277)D"44&&
"44!!&&&'''"H%%	ww$$wwr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   Z   s      S r   c                     \         '       d   \        R4      # \        4       '       d   \        4       '       g   Rp M\        P                   R2p V \
        9   d   V # R\
        9  d   \        4       hR# )z3Try to find a user scheme for the current platform.userosx_framework_user_user
posix_user)r   r   r	   r'   r&   r   r   r)   s    r   _infer_userr2   Z   s]    $V,,":"<"<'ggYe$%%--%''r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   i   s      S r   c                 t    \         '       d   \        R4      # \        P                   R2p V \        9   d   V # R# )z,Try to find a home for the current platform.home_home
posix_home)r   r'   r&   r   r1   s    r   _infer_homer8   i   s4    $V,,''% H%%r   userbasec               4    V ^8  d   QhRRRRRRRRRRR	RR
R/# )r   	dist_namer   r-   r   r5   z
str | Nonerootisolatedr    r   r   r   )r   s   "r   r   r      sW     K KK
K K 	K
 K K Kr   c                   V'       d   V'       d   \        RR4      hV'       d   V'       d   \        RR4      hVe   \        4       pMV'       d   \        4       pM
\        4       pVe
   VR8X  d   RpVe   \         Uu/ uF  qwVbK  	  ppMVe   \         Uu/ uF  qwVbK  	  ppM/ p\
        P                  ! WhR7      p	\        4       '       d}   V'       d"   VP                  R\        P                  4      p
M VP                  R\        P                  4      p
R	\        4        2p\        P                  P                  V
R
RV4      V	R
&   M
V '       g   Rp \        V	R,          V	R,          \        P                  P                  V	R
,          V 4      V	R,          V	R,          R7      pVe2   / p\          F  p\#        V\%        W4      4      W&   K  	  \        R/ VB pV# u upi u upi )a0  
Get the "scheme" corresponding to the input parameters.

:param dist_name: the name of the package to retrieve the scheme for, used
    in the headers scheme path
:param user: indicates to use the "user" scheme
:param home: indicates to use the "home" scheme
:param root: root under which other directories are re-based
:param isolated: ignored, but kept for distutils compatibility (where
    this controls whether the user-site pydistutils.cfg is honored)
:param prefix: indicates to use the "prefix" scheme and provides the
    base directory for the same
z--userz--prefixz--homer   r#   )schemevarsr9   basepythonincludesiteUNKNOWNplatlibpurelibscriptsdata)rF   rG   headersrH   rI   r   )r   r8   r2   r*   
_HOME_KEYS	sysconfig	get_pathsr	   getr$   r    r   r'   pathjoinr   r   r
   getattr)r;   r-   r5   r<   r=   r    scheme_namek	variablespathsrA   	python_xyr?   converted_keyskeys   &&&&&&         r   
get_schemerY      s   * &x<<&x<<!m	!m#o
 k-DD$&01jWj	1			(23
1Y
	3		{CE  !!==SZZ8D==4D4678	77<<iKi	i i U9-y9i 6]F C"-dGF4H"IN ).)MG 23s   >GG"c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s     , , ,r   c                     \         P                  R ,          R8X  d   \         P                  R,          R8X  d   R# \        P                  ! 4       R,          # ):N   Ndarwin:N   Nz/System/Library/z/usr/local/binrH   )r$   platformr    rL   rM   r   r   r   get_bin_prefixr`      s:    
||B8#

3;M(M ++r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r           , ,S ,r   c                 :    \         P                  ! 4       R ,          # )rG   rL   rM   r   r   r   get_purelibre           ++r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      rb   r   c                 :    \         P                  ! 4       R ,          # )rF   rd   r   r   r   get_platlibri      rf   r   )installed_baserA   installed_platbaseplatbaser    exec_prefix)FNNFN))__conditional_annotations__
__future__r   loggingr'   r$   rL   typingr   pip._internal.exceptionsr   r   pip._internal.models.schemer   r   pip._internal.utils.virtualenvr	   rA   r
   r   r   	getLogger__name__loggersetget_scheme_namesr   rQ   r   __annotations__r   r*   r2   r8   rK   get_config_varappendrY   r`   re   ri   )rn   s   @r   <module>r}      s    " "  	 
   V ; C H H			8	$ 3356 5<%t6 2 
4>
 J'3j!K\,,,r   