
    1yi@                        d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZ ddlmc mZ ddlZddlmZ ddlZ ej$                  d      ZdZej*                  dk\  Zej.                  j1                   ej2                  e            Zej.                  j7                  ej.                  j9                  edd	            rej.                  j9                  edd	      Znej.                  j9                  ed	      Z ej<                  d
      d        ZddZ  e ejC                  dd      d      d        Z" ej<                  d
      d        Z#erd Z$nd Z$ e ejC                  dd      dd      d        Z%y)z
Emoji extras for Material.

Override the indexes with an extended version that includes short names for Material icons, FontAwesome, etc.
    N)TWEMOJI_SVG_CDNadd_attriubteswrapsmkdocsa  Material emoji logic has been officially moved into mkdocs-material
version 9.4. Please use Material's '{}'
instead of '{}' in your 'mkdocs.yml' file.

```
markdown_extensions:
  - pymdownx.emoji:
      emoji_index: !!python/name:material.extensions.emoji.twemoji
      emoji_generator: !!python/name:material.extensions.emoji.to_svg
```

'mkdocs_material_extensions' is deprecated and will no longer be
supported moving forward. This is the last release.
)      r   	templatesz.icons)maxsizec                 .    t         j                  |        y)zLog message.N)logwarning)messages    Q/var/www/html/content_weaver/venv/lib/python3.12/site-packages/materialx/emoji.pylog_msgr   /   s     KK    c                       fd}|S )z
    Raise a `DeprecationWarning` when wrapped function/method is called.

    Usage:

        @deprecated("This method will be removed in version X; use Y instead.")
        def some_method()"
            pass
    c                 6     t                fd       }|S )Nc                      t        j                  dj                  n d t               t	                | i |S )N'z' is deprecated.
)category
stacklevel)warningswarn__name__DeprecationWarningr   )argskwargsfuncr   namer   s     r   _deprecated_funcz6deprecated.<locals>._wrapper.<locals>._deprecated_funcB   sK    MMT\DMMt<<NwiX+% G(((r   r   )r   r!   r   r    r   s   ` r   _wrapperzdeprecated.<locals>._wrapperA   s!    	t	) 
	)  r    )r   r   r    r"   s   ``` r   
deprecatedr$   6   s      Or   z!material.extensions.emoji.twemojizmaterialx.emoji.twemoji)r    c                 ~    | j                  dg       dd }|j                  t               t        t	        |            S )zPatch the given index.custom_iconsN)getappendRES_PATH_patch_index_for_locationstuple)optionsicon_locationss     r   _patch_indexr.   P   s7     [[4Q7N(#%eN&;<<r   c           	      t   dd l m} dt        st        j                  |j
                        n|j
                  t        st        j                  |j                        n|j                  d}| D ]  }|j                  dd      dz   }t        j                  t        j                  |j                  dd            dz   d      D ]q  }d	j                  |j                  dd      j                  |d
d      j                  dd      j                  d      d d       }||d   vs_||d   vsg||d|d   |<   s  |S )Nr   twemoji)r    emojialiases\/z	/**/*.svgT)	recursivez:{}: r	   -.r1   r2   )r    path)pymdownx.twemoji_db
twemoji_dbOPTION_SUPPORTcopydeepcopyr1   r2   replaceglobescapeformatlstrip)r-   r<   index	icon_path	norm_baseresultr    s          r   r*   r*   \   s+   , 8Fz//0JL\L\<J4==!3!34PZPbPbE $ F	%%dC036	iiI,=,=dC,H IK Wcgh 	FF==c!:!B!B9bRS!T!\!\]`be!f!m!mnq!rsvtv!wxD5>)d%	:J.J04f'Egt$		FF Lr   c                     t        |       S zQProvide a copied Twemoji index with additional codes for Material included icons.r.   )r,   mds     r   r0   r0   s   s     G$$r   c                      t        i       S rJ   rK   r#   r   r   r0   r0   y   s     Br   z material.extensions.emoji.to_svgzmaterialx.emoji.to_svgr	   c	                    |du}	|	rZt         }
|j                  d|       ||j                  d|
      |dd}|r||d<   t        ||       t        j                  d|      S t        j                  dd	|j                  d|       i      }|j
                  d
   j                  d
   |   d   }
t        j                  |
dd      5 }|j                  j                  |j                               |_        ddd       |S # 1 sw Y   |S xY w)zReturn SVG element.Nclasses
image_pathz.svg)classaltsrctitleimgspanrQ   r1   r:   rzutf-8)encoding)r   r'   r   etreeElementinlinePatternsemoji_indexcodecsopen	htmlStashstorereadtext)rE   	shortnamealiasucrR   rT   r   r,   rL   
is_unicodesvg_path
attributeselfs                 r   to_svgrk      s     4J" [[E2L(3

 "'Jww
+}}UJ// ]]6GW[[E-J#KL$$W-99'B9MfU[[39 	3Qll((2BG	3		3	s   /C<<D)   N)&__doc__osrA   r>   r]   	functoolsinspectmaterialpymdownxpymdownx.emojir   r   xml.etree.ElementTreerY   ElementTreer   r   logging	getLoggerr   
DEPRECATED__version_info__r=   r:   dirnamegetfile	RESOURCESexistsjoinr)   	lru_cacher   r$   rC   r.   r*   r0   rk   r#   r   r   <module>r      s~  
 
        : % %   g!
" **i7GGOOOGOOH56	77>>"'',,y+x@Aww||I{H=Hww||Ix0H T" #4 9;TU	"=	= T" #* %  8:RS	!

r   