+
    {iP                        ^ RI Ht ^ RI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 ]	'       d   ^ RI
Ht  ! R R	]P                  4      t ! R
 R4      tR# )    )annotationsN)Path)TYPE_CHECKING)PrefixRecord)NoDistInfoDirFound)PackageCacheRecordc                  &    ] tR t^t]! ]4      tRtR# )CaseSensitiveConfigParser N)__name__
__module____qualname____firstlineno__staticmethodstroptionxform__static_attributes__r       7lib/python3.14/site-packages/conda_self/package_info.pyr
   r
      s    s#Kr   r
   c                  Z    ] tR t^tR R lt]R R l4       t]R R l4       tR R ltR	t	R
# )PackageInfoc                   V ^8  d   QhRR/# )   dist_info_pathr   r   )formats   "r   __annotate__PackageInfo.__annotate__   s     - -t -r   c                    Wn         R# )zHDescribe the dist-info for a Python package installed as a conda packageNr   )selfr   s   &&r   __init__PackageInfo.__init__   s    ,r   c                    V ^8  d   QhRRRR/# )r   pkg_dirr   returnz	list[str]r   )r   s   "r   r   r      s      C I r   c                   \        V4      pVR,          R,          pVP                  4       '       dM   \        P                  ! VP	                  4       4      pVP                  R. 4       Uu. uF  qUR,          NK  	  up#  VR,          R,          P	                  4       P                  4       # u upi   \         d    . u # i ; i)zRead file paths from an extracted package directory.

Tries info/paths.json first (canonical per CEP), then falls back
to info/files (deprecated legacy format).
infoz
paths.jsonpaths_pathfiles)r   is_filejsonloads	read_textget
splitlinesFileNotFoundError)clsr$   pkg_path
paths_jsondataentrys   &&    r   read_manifestPackageInfo.read_manifest   s     =&5
::j2245D04"0EF0Eu'NN0EFF	v%/::<GGII G ! 	I	s   *B+?+B0 0C ?C c                    V ^8  d   QhRRRR/# )r   recordz!PrefixRecord | PackageCacheRecordr%   zlist[PackageInfo]r   )r   s   "r   r   r   1   s     ; ;6;	;r   c           	     	4   R p\        VRR4      ;p'       g'   V P                  VP                  4      p\        V4      p\	        4       pV FL  p\
        P                  P                  V4      ;pP                  R4      '       g   K;  VP                  V4       KN  	  \        V\        4      '       d   \        P                  pMVP                  pV'       g   V'       g{   \        V\        4      '       ge   \        V4      pVP                  R4       FD  p	V	P!                  4       '       g   K  VP                  \#        V	P%                  V4      4      4       KF  	  V'       g   \'        VP(                  V4      hV U
u. uF  q! \        Wz4      4      NK  	  up
# u up
i )Tr*   Nz
.dist-infoz*.dist-info)getattrr7   extracted_package_dirboolsetospathdirnameendswithadd
isinstancer   sysprefixr   rglobis_dirr   relative_tor   name)r2   r:   had_manifestr(   
dist_infosrA   maybe_dist_infobasedirbasepath	candidateps   &&         r   from_recordPackageInfo.from_record0   s1     $777%%f&B&BCE;LU
D#%77??4#88BB<PP/  fl++jjG22G,z&,7W7W G}H%^^M:	##%%NN3y'<'<X'F#GH ; $V[['::/9:z!D$%z:::s   9Fc                   V ^8  d   QhRR/# )r   r%   zdict[str, dict[str, str]]r   )r   s   "r   r   r   N   s      7 r   c                    V P                   R,          p\        4       pVP                  V4       / pVP                  4        F  p\	        W$,          4      W4&   K  	  V# )ar  Get the entry points for a package.

The return value for this function has the form:

{
    entry_point_group:{
        name: entry_point,
        . . .
    }
    . . .
}

:returns: a dictionary of entry point groups and the corresponding entry points
          expressed as a dict.

ref: https://packaging.python.org/en/latest/specifications/entry-points/#file-format
zentry_points.txt)r   r
   readsectionsdict)r    entry_point_fileentry_points_configentry_pointssections   &    r   r\   PackageInfo.entry_pointsN   s_    $  ..1CC79  !12*335G$()<)E$FL! 6 r   r   N)
r   r   r   r   r!   classmethodr7   rS   r\   r   r   r   r   r   r      s9    -  $ ; ;: r   r   )
__future__r   configparserr,   r@   rF   pathlibr   typingr   conda.models.recordsr   
exceptionsr   r   ConfigParserr
   r   r   r   r   <module>rg      sD    "   	 
    - *7
$ 9 9 $P Pr   