
    ͆h                          S r SSKJs  Jr  SSKJrJr  SSKJr  SSK	r	\	R                  " S5      r " S S	\5      r " S
 S\5      rS rg)zAdmonitions.    N   )Blocktype_html_identifier   )BlocksExtensionz[_-]+c                   @    \ rS rSrSrSrSrSS\40rSr	Sr
S rS rS	rg)

Admonition
   z
Admonition.

Arguments (1 optional):
- A title.

Options:
- `type` (string): Attach a single special class for styling purposes. If more are needed,
  use the built-in `attributes` options to apply as many classes as desired.

Content:
Detail body.

admonitionNtype c                    U R                   S:w  au  SU R                   0U R                  S'   U R                  (       a  U R                  U R                  S   S'   U R                  (       a  U R                  U R                  S   S'   g)zHandle on validate event.r   namer   titleclassT)NAMEoptions	DEF_TITLE	DEF_CLASS)selfparents     R/opt/services/DDDS/venv/lib/python3.13/site-packages/pymdownx/blocks/admonition.pyon_validateAdmonition.on_validate!   sf     99$$*DII#6DLL ~~04V$W-~~04V$W-    c                    S/nU R                   S   nS=n=pV[        U[        5      (       aL  US   nUR                  SU5      nUR                  S[        R                  SU5      R                  5       5      nO=[        U[        5      (       a(  UnUn[        R                  SU5      R                  5       nU(       a  US:w  a  UR                  U5        [        R                  " USSSR                  U5      05      nS	nU R                  c
  U(       a  UnOU R                  (       a  U R                  nUb   [        R                  " US
SS05      n	Xl        U$ )zCreate the element.r   r   r   r   r   r    divNpzadmonition-title)r   
isinstancedictgetRE_SEPsubr   strappendetree
SubElementjoinargumenttext)
r   r   classesobjatype	def_title
class_nameelr   ad_titles
             r   	on_createAdmonition.on_create,   s.     .ll6")+++	c4  KE%0JC)D)J)J)LMIS!!EJ

3.446IUl*NN:& fegsxx7H-IJ == !]]MME''C';M1NOH!M	r    )__name__
__module____qualname____firstlineno____doc__r   ARGUMENTr   OPTIONSr   r   r   r3   __static_attributes__r5   r   r   r	   r	   
   s;     DH)*G II	"r   r	   c                   2   ^  \ rS rSrSrU 4S jrS rSrU =r$ )AdmonitionExtensionQ   zAdmonition Blocks Extension.c                 @   > S/ SQS/0U l         [        TU ]  " U0 UD6  g)zInitialize.types)note	attentioncautiondangererrortiphintwarningz9Generate Admonition block extensions for the given types.N)configsuper__init__)r   argskwargs	__class__s      r   rM   AdmonitionExtension.__init__T   s0     ]K
 	$)&)r   c                 $   UR                  [        U R                  5       5        U R                  S/ 5       H  n[	        U[
        5      (       aL  US   nUR                  SU5      nUR                  S[        R                  SU5      R                  5       5      nO(UnUn[        R                  SU5      R                  5       n[        R                  SU5      R                  5       nUR                  [        U[        40 XFUS.5      0 5        M     g)	zExtend Markdown blocks.rB   r   r   r   r   r   )r<   r   r   r   N)registerr	   
getConfigs	getConfigr    r!   r"   r#   r$   r   r   )r   md	block_mgrr-   r   r0   r   subclasss           r   extendMarkdownBlocks(AdmonitionExtension.extendMarkdownBlocks`   s     	:t'89 >>'2.C#t$$6{ WWWd3
C)D)J)J)LM!


3
399;zz"d+113HM "DS]^
  /r   )rK   )	r6   r7   r8   r9   r:   rM   rY   r=   __classcell__)rP   s   @r   r?   r?   Q   s    &
* r   r?   c                      [        U 0 UD6$ )zReturn extension.)r?   )rN   rO   s     r   makeExtensionr]   z   s     ///r   )r:   xml.etree.ElementTreer'   ElementTreeblockr   r   blocksr   recompiler#   r	   r?   r]   r5   r   r   <module>rd      sF     % % . % 		H	D DN&/ &R0r   