+
    kGj'                        ^ 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Ht ^ RIHt ]! R] 24      tRR	 R
 lltR R ltR R ltRR R lltR R lt ! R R4      tR# )    )annotationsN)	getLogger)Path)Iterator)contextlocate_prefix_by_name)	MatchSpeczconda.c               $    V ^8  d   QhRRRRRR/# )   databytes	algorithmstrreturn )formats   "0lib/python3.14/site-packages/conda_pypi/utils.py__annotate__r      s!      E c      c                    \         P                  ! \        P                  ! W4      P	                  4       4      P                  R4      P                  R4      # )z6Digest as PEP 376 RECORD style base64url (no padding).ascii=)base64urlsafe_b64encodehashlibnewdigestdecoderstrip)r   r   s   &&r   hash_as_base64urlr       s@     	  Y!=!D!D!FGNNwW^^_bcr   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r      s     # #e # #r   c                    \        V 4      # )z=SHA256 digest as PEP 376 RECORD style base64url (no padding).)r    )r   s   &r   sha256_as_base64urlr#      s    T""r   c                    V ^8  d   QhRRRR/# )r   valuez
str | Noner   r   )r   s   "r   r   r      s     
 
: 
* 
r   c                   V '       d   V P                  4       '       g   R#  V P                  4       p V R\        V 4      ) ^,          ,          ,          p \        P                  ! V 4      P	                  4       #   \
         d     R# i ; i)zIConvert base64url hash (e.g. from installer) to hex for conda paths.json.Nr   )striplenr   urlsafe_b64decodehex
ValueError)r%   s   &r   sha256_base64url_to_hexr,      sg    Ua((''.2244 s   AA7 7BBc               $    V ^8  d   QhRRRRRR/# )r   prefixzos.PathLikenamer   r   r   r   )r   s   "r   r   r   *   s!     + +{ + + +r   c                    V '       d   \        V 4      # V'       d   \        \        V4      4      # \        \        P                  4      # N)r   r   r   target_prefix)r.   r/   s   &&r   
get_prefixr3   *   s4    F|	)$/00G))**r   c                    V ^8  d   QhRRRR/# )r   spec_strr   r   zIterator[str]r   )r   s   "r   r   r   3   s     
# 
# 
# 
#r   c              #    "   V x  \        V 4      pV 0pVP                  P                  R R4      VP                  P                  RR 4      3 F3  pW29  g   K  \        \        WR7      4      x  VP	                  V4       K5  	  R# 5i)-_)r/   N)r	   r/   replacer   add)r5   specseenname_variants   &   r   pypi_spec_variantsr>   3   ss     
NXD:D		#s#		#s# #i899HH\"s   AB.Bc                  "    ] tR t^@tR tR tRtR# )SuppressOutputc                	v    \         P                  V n        \        \        P
                  R 4      \         n        R# )wN)sysstdout_original_stdoutopenosdevnull)selfs   &r   	__enter__SuppressOutput.__enter__A   s      #

"**c*
r   c                	l    \         P                  P                  4        V P                  \         n        R # r1   )rC   rD   closerE   )rI   exc_typeexc_valexc_tbs   &&&&r   __exit__SuppressOutput.__exit__E   s    

**
r   )rE   N)__name__
__module____qualname____firstlineno__rJ   rQ   __static_attributes__r   r   r   r@   r@   @   s    ++r   r@   )sha256)NN)
__future__r   r   r   rG   rC   loggingr   pathlibr   typingr   conda.base.contextr   r   conda.models.match_specr	   rS   loggerr    r#   r,   r3   r>   r@   r   r   r   <module>r`      sW    "   	 
    = -	VH:&	'#

+
#+ +r   