+
    :1j                        R t ^ RIHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ]'       d	   ^ RIHtHt ]	! ]4      tR tR	 R
 ltR R ltR R ltR# )zCommon directory utilities.)annotations)reduce)
accumulatechain)	getLoggerjoin)TYPE_CHECKING)IterableSequencec                    \         ;QJ d%    R  \        W4       4       F  '       d   K   R# 	  R# ! R  \        W4       4       4      # )c              3  .   "   T F  w  rW8H  x  K  	  R # 5iN ).0tsws   &  =lib/python3.14/site-packages/conda/common/path/directories.py	<genexpr>'tokenized_startswith.<locals>.<genexpr>   s     L$K51qw$Ks   FT)allzip)test_iterablestartswith_iterables   &&r   tokenized_startswithr      s5    3LC$KL33L3L3LC$KLLL    c                    V ^8  d   QhRRRR/# )   filesIterable[str]returnzlist[tuple[str, ...]]r   )formats   "r   __annotate__r"      s     K K} K1F Kr   c                    \        \        R V  Uu0 uF   p\        VP                  R4      R R 4      kK"  	  up4      4      # u upi )N/)sortedfiltertuplesplit)r   fs   & r   get_all_directoriesr+      s:    &%H%Qaggcl3B&7 8%HIJJHs   &Ac                    V ^8  d   QhRRRR/# )r   r   r   r    zSequence[str]r   )r!   s   "r   r"   r"      s     4 4 4- 4r   c                B  a \        V 4      pV'       g   R# . oV3R  lp\        W!4      pS'       g   SP                  VR,          4       M*\        VSR,          4      '       g   SP                  V4       \        ;QJ d    . R S 4       F  NK  	  5# ! R S 4       4      # )c                L   < \        W4      '       g   SP                  V 4       V# r   )r   append)xyleavess   &&r   _process&get_leaf_directories.<locals>._process$   s    #A))MM!r   c              3  D   "   T F  pR P                  V4      x  K  	  R# 5i)r$   Nr   )r   leafs   & r   r   'get_leaf_directories.<locals>.<genexpr>0   s     3FD$Fs    r   r%   )r+   r   r/   r   r(   )r   directoriesr3   lastr2   s   &   @r   get_leaf_directoriesr:      s     &e,K	F
 ((Dk"o&!$r
33d53F35353F333r   c                    V ^8  d   QhRRRR/# )r   child_directorieszIterable[tuple[str, ...]]r    zset[str]r   )r!   s   "r   r"   r"   3   s      +D  r   c                N    \        \        P                  ! R  V  4       4      4      # )c              3  T   "   T F  q'       g   K  \        V\        4      x  K   	  R # 5ir   )r   r   )r   	directorys   & r   r   &explode_directories.<locals>.<genexpr>7   s#      
9JIi'Jy$''9Js   	(()setr   from_iterable)r<   s   &r   explode_directoriesrC   3   s,      
9J
 	
 r   N)__doc__
__future__r   	functoolsr   	itertoolsr   r   loggingr   os.pathr   typingr	   collections.abcr
   r   __name__logr   r+   r:   rC   r   r   r   <module>rN      sB    " "  '    2MK40r   