
    ^j|                        U d Z 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	m
Z
 ddlmZ e
Zded<   e	D  ci c]  } | j                  |  c} Zd	ed
<   ddZddZyc c} w )u*  Per-header descriptor, registry, and platform-aware accessors.

The canonical authored data lives in :mod:`header_descriptor_catalog`. This
module provides a name-keyed registry and platform-dispatch helpers consumed
by the runtime search path — keeping the search code itself platform-agnostic.
    )annotationsN)	TypeAliascast)HEADER_DESCRIPTOR_CATALOGHeaderDescriptorSpec)
IS_WINDOWSr   HeaderDescriptorzdict[str, HeaderDescriptor]HEADER_DESCRIPTORSc                    t         r0t        t        t        df   | j                  | j
                  z         S t        t        t        df   | j
                        S )zReturn the effective include subdirectory search list for the current platform.

    On Windows, Windows-specific subdirs are checked first, followed by the
    common subdirs.  On Linux, only the common subdirs are returned.
    .)r   r   tuplestrinclude_subdirs_windowsinclude_subdirsdescs    u/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/cuda/pathfinder/_headers/header_descriptor.pyplatform_include_subdirsr      sH     E#s(OT%A%ADDXDX%XYYc3h!5!566    c                   t         rCt        j                  j                  |d      }t        j                  j	                  |      r|S dS | j
                  rht        j                  t        j                  j                  |ddd            }|rt        |      dk7  ryt        j                  j                  |d         S |S )zResolve the conda anchor point for header search on the current platform.

    Returns the directory that ``_locate_in_anchor_layout`` should use as
    *anchor_point*, or ``None`` if the conda layout is not usable.
    LibraryNtargets*include   r   )	r   ospathjoinisdirconda_targets_layoutgloblendirname)r   conda_prefixanchortargets_include_paths       r   resolve_conda_anchorr&   (   s     lI6v.v8D8  #yylIsT])^_#s+?'@A'Eww3A677r   )r   r	   returnztuple[str, ...])r   r	   r#   r   r'   z
str | None)__doc__
__future__r   r    r   typingr   r   2cuda.pathfinder._headers.header_descriptor_catalogr   r   %cuda.pathfinder._utils.platform_awarer   r	   __annotations__namer
   r   r&   r   s   0r   <module>r/      s`    #  	 " =2 ) 2 Pi2it499d?2i / i7 3js   A