
    ͆h                        S SK Jr  S SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
  S SKJrJr  S SKJr  SS jr                  SS	 jr\R$                  " SS
9SS j5       r\R$                  " SS
9S 5       rg)    )annotationsN)iglob)getfile)Markdown)emoji
twemoji_db)Elementc                T    U R                  S/ 5      S S  n[        [        U5      5      $ )Ncustom_icons)get_load_twemoji_indextuple)optionsmdpathss      Q/opt/services/DDDS/venv/lib/python3.13/site-packages/material/extensions/emoji.pytwemojir   &   s&    KK+A.EuU|,,    c	                   U(       dj  UR                   S   R                  S   n	[        SSUR                  SU 5      05      n
UR                  R                  [        X   S   5      5      U
l        U
$ [        R                  " XX#XEXgU5	      $ )Nr   spanclassclassespath)
inlinePatternsemoji_indexr	   r   	htmlStashstore_loadtextr   to_svg)index	shortnamealiasucalttitlecategoryr   r   iconsels              r   r    r    +   s     !!'*66w? VwIu(EGH,,$$U5+;F+C%DE	 <<%SB r   )maxsizec                l    [        U SS9 nUR                  5       sS S S 5        $ ! , (       d  f       g = f)Nzutf-8)encoding)openread)filefs     r   r   r   A   s#    	dw	'1vvx 
(	'	's   %
3c                  ^^ S[         R                  [         R                  S.m[        R                  R                  [        [        5      5      n[        R                  R                  USS5      n/ U QUP H  n[        R                  R                  U5      n[        R                  R                  USS5      n[        [        R                  R                  U5      SS9nU Hj  nU[        U5      S	-   S
 R                  [        R                  R                  S5      nSU S3m[        UU4S jS 5       5      (       a  M_  TUS.TS   T'   Ml     M     T$ )Nr   )namer   aliases	templatesz.iconsz**z*.svgT)	recursive   -:c              3  4   >#    U  H  nTTU   ;   v   M     g 7f)N ).0keyr!   r2   s     r   	<genexpr>&_load_twemoji_index.<locals>.<genexpr>]   s     J5IctuSz)5Is   )r   r3   )r2   r   r   )r   r   r3   osr   dirnamer   materialjoinnormpathr   lenreplacesepany)	r   rootr   baseglobr/   iconr!   r2   s	          @@r   r   r   G   s    !!%%E 77??78,-D77<<k84D%ww% ww||D$0RWW%%d+>DD	Ab)11"''++sCD tfA;DJ5IJJJ15t'Egt$   Lr   )r   objectr   r   )r!   strr"   rN   r#   rN   r$   z
str | Noner%   rN   r&   rN   r'   rN   r   rM   r   r   )r/   rN   )
__future__r   	functoolsrB   r@   rK   r   inspectr   markdownr   pymdownxr   r   xml.etree.ElementTreer	   r   r    	lru_cacher   r   r;   r   r   <module>rV      s   * #   	    & )-
'*0:AD(.4<, t$ %
 t$ %r   