Ë
    Ÿ2ÚiV  ã                  óx   — d Z ddlmZ ddlmZ ddlmZ ddlmc m	Z ddl
Z
 G d„ d	e«      Z G d
„ de«      Zd„ Zy)a  
Adds rST-style admonitions. Inspired by [rST][] feature with the same name.

[rST]: http://docutils.sourceforge.net/docs/ref/rst/directives.html#specific-admonitions

See the [documentation](https://Python-Markdown.github.io/extensions/admonition)
for details.
é    )Úannotationsé   )Ú	Extensioné   )ÚBlockProcessorNc                  ó   — e Zd ZdZd„ Zy)ÚAdmonitionExtensionz+ Admonition extension for Python-Markdown. c                óš   — |j                  | «       |j                  j                  j                  t	        |j                  «      dd«       y)z& Add Admonition to Markdown instance. Ú
admonitionéi   N)ÚregisterExtensionÚparserÚblockprocessorsÚregisterÚAdmonitionProcessor)ÚselfÚmds     úU/var/www/html/acx/venv/lib/python3.12/site-packages/markdown/extensions/admonition.pyÚextendMarkdownz"AdmonitionExtension.extendMarkdown&   s7   € à
×Ñ˜TÔ"à
�	‰	×!Ñ!×*Ñ*Ô+>¸r¿y¹yÓ+IÈ<ÐY\Õ]ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   © r   r   r	   r	   #   s   „ Ù5ó^r   r	   c                  ó†   ‡ — e Zd ZdZdZ ej                  d«      Z ej                  d«      Zˆ fd„Z	d„ Z
d„ Zd„ Zd	„ Zˆ xZS )
r   r   zadmonition-titlez<(?:^|\n)!!! ?([\w\-]+(?: +[\w\-]+)*)(?: +"(.*?)")? *(?:\n|$)z  +c                ó@   •— t         ‰| �  |«       d| _        d| _        y)zInitialization.Nr   )ÚsuperÚ__init__Úcurrent_siblingÚcontent_indention)r   r   Ú	__class__s     €r   r   zAdmonitionProcessor.__init__4   s"   ø€ ô 	‰Ñ˜Ô à#ˆÔØ!"ˆÕr   c                ó  — |}d}| j                   �>| j                   }| j                  || j                  «      \  }}d| _         d| _        |||fS | j                  |«      }|�=|j                  dk7  s.|j                  dd«      j                  | j                  «      dk(  rd}næ| j                  |«      }d}|�}|�v|j                  d| j                  z  dz  «      rU|�S|j                  d	v rE| j                  |«      }|�| j                  |«      nd}|| j                  d }|| j                  z  }nd}|�Œ}|j                  d| j                  z  «      sd}|�2|| j                  z  }| j                  ||«      \  }}|| _         || _        |||fS )
z‰Get sibling admonition.

        Retrieve the appropriate sibling element. This can get tricky when
        dealing with lists.

        Ú Nr   ÚdivÚclasséÿÿÿÿú r   )ÚulÚolÚdl)
r    ÚdetabÚcontent_indentÚ	lastChildÚtagÚgetÚfindÚ	CLASSNAMEÚ
startswithÚ
tab_length)r   ÚparentÚblockÚ	old_blockÚthe_restÚsiblingÚ
last_childÚindents           r   Úparse_contentz!AdmonitionProcessor.parse_content<   s¬  € ð ˆ	Øˆð ×ÑÐ+Ø×*Ñ*ˆGØ"Ÿj™j¨°×0CÑ0CÓD‰OˆE�8Ø#'ˆDÔ Ø"#ˆDÔØ˜E 8Ð+Ð+à—.‘. Ó(ˆàˆ?˜gŸk™k¨UÒ2°g·k±kÀ'È2Ó6N×6SÑ6SÐTX×TbÑTbÓ6cÐgiÒ6iØ‰Gð Ÿ™¨Ó0ˆJØˆFØÐ(àÐ'¨E×,<Ñ,<¸SÀ4Ç?Á?Ñ=RÐUVÑ=VÔ,WØÐ*¨z¯~©~ÐASÑ/Sð
 #Ÿn™n¨ZÓ8�GØ<CÐ<O §¡°Ô!8ÐUY�Jð
 " $§/¡/Ð"2Ð3�EØ˜dŸo™oÑ-‘Fà!%�Jð# Ñ(ð& ×#Ñ# C¨$¯/©/Ñ$9Ô:Ø�àÐ"Ø˜$Ÿ/™/Ñ)�Ø"&§*¡*¨Y¸Ó"?‘��xØ'.�Ô$Ø&,�Ô#à˜˜xÐ'Ð'r   c                óh   — | j                   j                  |«      ry| j                  ||«      d   d uS )NTr   )ÚREÚsearchr<   )r   r5   r6   s      r   ÚtestzAdmonitionProcessor.testv   s2   € à�7‰7�>‰>˜%Ô Øà×%Ñ% f¨eÓ4°QÑ7¸tÐCÐCr   c                ó€  — |j                  d«      }| j                  j                  |«      }|ri|j                  «       dkD  r.| j                  j                  ||d |j                  «        g«       ||j                  «       d  }| j                  |«      \  }}n| j                  ||«      \  }}}|r’| j                  |«      \  }}t        j                  |d«      }	|	j                  ddj                  | j                  |«      «       |r†t        j                  |	d«      }
||
_        |
j                  d| j                   «       nLj"                  dv r<|j                  r0|j                  }d|_        t        j                  |d«      }
||
_        |}	| j                  j%                  |	|«       |r|j'                  d|«       y y )Nr   r%   r&   z{} {}Úp)ÚliÚddr$   )Úpopr>   r?   Ústartr   ÚparseBlocksÚendr,   r<   Úget_class_and_titleÚetreeÚ
SubElementÚsetÚformatr2   ÚtextÚCLASSNAME_TITLEr/   Ú
parseChunkÚinsert)r   r5   Úblocksr6   ÚmÚtheRestr9   ÚklassÚtitler%   rB   rN   s               r   ÚrunzAdmonitionProcessor.run}   su  € Ø—
‘
˜1“ˆØ�G‰G�N‰N˜5Ó!ˆáØ�w‰w‹y˜1Š}Ø—‘×'Ñ'¨°°z¸¿¹»	Ð1BÐ0CÔDØ˜!Ÿ%™%›'˜(�OˆEØ!ŸZ™Z¨Ó.‰NˆE‘7à&*×&8Ñ&8¸ÀÓ&GÑ#ˆG�U˜GáØ×3Ñ3°AÓ6‰LˆE�5Ü×"Ñ" 6¨5Ó1ˆCØ�G‰G�G˜WŸ^™^¨D¯N©N¸EÓBÔCÙÜ×$Ñ$ S¨#Ó.�Ø�”Ø—‘�g˜t×3Ñ3Õ4ð �{‰{˜lÑ*¨w¯|ª|Ø—|‘|�Ø!�”Ü×$Ñ$ W¨cÓ2�Ø�”àˆCà�‰×Ñ˜s EÔ*áð �M‰M˜!˜WÕ%ð	 r   c                ó  — |j                  d«      j                  «       |j                  d«      }}| j                  j                  d|«      }|€'|j	                  dd«      d   j                  «       }||fS |dk(  rd }||fS )Nr   r   r(   r   r$   )ÚgroupÚlowerÚ	RE_SPACESÚsubÚsplitÚ
capitalize)r   ÚmatchrU   rV   s       r   rI   z'AdmonitionProcessor.get_class_and_title£   s…   € Ø—{‘{ 1“~×+Ñ+Ó-¨u¯{©{¸1«~ˆuˆØ—‘×"Ñ" 3¨Ó.ˆØˆ=ð —K‘K  QÓ'¨Ñ*×5Ñ5Ó7ˆEð
 �eˆ|Ðð	 �bŠ[ð ˆEØ�eˆ|Ðr   )r   r   r   r2   rO   ÚreÚcompiler>   r[   r   r<   r@   rW   rI   Ú__classcell__)r"   s   @r   r   r   -   sJ   ø„ à€IØ(€OØ	ˆ�‰ÐSÓ	T€BØ�—
‘
˜5Ó!€Iô#ò8(òtDò$&öLr   r   c                 ó   — t        di | ¤ŽS )Nr   )r	   )Úkwargss    r   ÚmakeExtensionre   ²   s   € ÜÑ( Ñ(Ð(r   )r   Ú
__future__r   r$   r   r   r   Úxml.etree.ElementTreerJ   ÚElementTreer`   r	   r   re   r   r   r   ú<module>ri      s@   ðñ$õ #å Ý ,ß %Ð %Û 	ô^˜)ô ^ôB˜.ô BóJ)r   