ó
    "nj“  ã                  óž   • S r SSKJr  SSKJr  SSKJr  SSKJs  J	r  SSK
r
SSKJr  \(       a  SS	KJr   " S
 S\5      r " S S\5      rS rg)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é   )ÚBlockProcessorN)ÚTYPE_CHECKING)Úblockparserc                  ó   • \ rS rSrSrS rSrg)ÚAdmonitionExtensioné'   z*Admonition extension for Python-Markdown. c                óš   • UR                  U 5        UR                  R                  R                  [	        UR                  5      SS5        g)z%Add Admonition to Markdown instance. Ú
admonitionéi   N)ÚregisterExtensionÚparserÚblockprocessorsÚregisterÚAdmonitionProcessor)ÚselfÚmds     Ú@/usr/lib/python3/dist-packages/markdown/extensions/admonition.pyÚextendMarkdownÚ"AdmonitionExtension.extendMarkdown*   s7   € à
×Ñ˜TÔ"à
�	‰	×!Ñ!×*Ñ*Ô+>¸r¿y¹yÓ+IÈ<ÐY\Õ]ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__static_attributes__r   r   r   r   r   '   s   † Ù5õ^r   r   c                  ó¤   ^ • \ rS rSrSrSr\R                  " S5      r\R                  " S5      r	SU 4S jjr
SS jrSS jrSS	 jrSS
 jrSrU =r$ )r   é1   r   zadmonition-titlez<(?:^|\n)!!! ?([\w\-]+(?: +[\w\-]+)*)(?: +"(.*?)")? *(?:\n|$)z  +c                ó@   >• [         TU ]  U5        SU l        SU l        g)zInitialization.Nr   )ÚsuperÚ__init__Úcurrent_siblingÚcontent_indent)r   r   Ú	__class__s     €r   r&   ÚAdmonitionProcessor.__init__8   s"   ø€ ô 	‰Ñ˜Ô à59ˆÔØˆÕr   c                ó2  • UnSnU R                   b;  U R                   nU R                  X R                  5      u  p$SU l         SU l        XRU4$ U R                  U5      nUb?  UR                  S:w  d/  UR                  SS5      R                  U R                  5      S:X  a  SnOòU R                  U5      nSnUb‡  Ub}  UR                  SU R                  -  S-  5      (       aW  UbT  UR                  S	;   aD  U R                  U5      nUb  U R                  U5      OSnX R                  S nXpR                  -  nOSnUb  M‡  UR                  SU R                  -  5      (       d  SnUb-  XpR                  -  nU R                  X75      u  p$XPl         Xpl        XRU4$ )
zqGet sibling admonition.

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

Ú Nr   ÚdivÚclasséÿÿÿÿÚ r   )ÚulÚolÚdl)
r'   Údetabr(   Ú	lastChildÚtagÚgetÚfindÚ	CLASSNAMEÚ
startswithÚ
tab_length)r   ÚparentÚblockÚ	old_blockÚthe_restÚsiblingÚ
last_childÚindents           r   Úparse_contentÚ!AdmonitionProcessor.parse_content@   sœ  € ð ˆ	Øˆð ×ÑÑ+Ø×*Ñ*ˆGØ"Ÿj™j¨×0CÑ0CÓD‰OˆEØ#'ˆDÔ Ø"#ˆDÔØ 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Ñ,WØÑ*¨z¯~©~ÐASÓ/Sð
 #Ÿn™n¨ZÓ8�GØ<CÑ<O §¡°Ô!8ÐUY�Jð
 "§/¡/Ð"2Ð3�EØŸo™oÑ-‘Fà!%�Jð# Ó(ð& ×#Ñ# C¨$¯/©/Ñ$9×:Ñ:Ø�àÑ"ØŸ/™/Ñ)�Ø"&§*¡*¨YÓ"?‘�Ø'.Ô$Ø&,Ô#à˜xÐ'Ð'r   c                óp   • U R                   R                  U5      (       a  gU R                  X5      S   S L$ )NTr   )ÚREÚsearchrC   )r   r<   r=   s      r   ÚtestÚAdmonitionProcessor.testz   s3   € à�7‰7�>‰>˜%× Ñ Øà×%Ñ% fÓ4°QÑ7¸tÐCÐCr   c                ó¬  • UR                  S5      nU R                  R                  U5      nU(       ag  UR                  5       S:”  a-  U R                  R                  XS UR                  5        /5        X4R                  5       S  nU R                  U5      u  p5OU R                  X5      u  pcnU(       a—  U R                  U5      u  px[        R                  " US5      n	U	R                  SSR                  U R                  U5      5        U(       a9  [        R                  " U	S5      n
XŠl        U
R                  SU R                   5        OSWR"                  S;   aA  UR                  (       a0  UR                  nSUl        [        R                  " US5      n
Xºl        Un	U R                  R%                  X“5        U(       a  UR'                  SU5        g g )Nr   r-   r.   z{} {}Úp)ÚliÚddr,   )ÚpoprF   rG   Ústartr   ÚparseBlocksÚendr4   rC   Úget_class_and_titleÚetreeÚ
SubElementÚsetÚformatr9   ÚtextÚCLASSNAME_TITLEr6   Ú
parseChunkÚinsert)r   r<   Úblocksr=   ÚmÚtheRestr@   ÚklassÚtitler-   rK   rW   s               r   ÚrunÚAdmonitionProcessor.run�   sf  € Ø—
‘
˜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˜GæØ×3Ñ3°AÓ6‰LˆEÜ×"Ò" 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Ô*æð �M‰M˜!˜WÕ%ð	 r   c                ó   • UR                  S5      R                  5       UR                  S5      p2U R                  R                  SU5      nUc&  UR	                  SS5      S   R                  5       nX#4$ US:X  a  S nX#4$ )Nr   r   r0   r   r,   )ÚgroupÚlowerÚ	RE_SPACESÚsubÚsplitÚ
capitalize)r   Úmatchr^   r_   s       r   rR   Ú'AdmonitionProcessor.get_class_and_title§   s   € Ø—{‘{ 1“~×+Ñ+Ó-¨u¯{©{¸1«~ˆuØ—‘×"Ñ" 3¨Ó.ˆØ‰=ð —K‘K  QÓ'¨Ñ*×5Ñ5Ó7ˆEð
 ˆ|Ðð	 �b‹[ð ˆEØˆ|Ðr   )r(   r'   )r   zblockparser.BlockParser)r<   úetree.Elementr=   ÚstrÚreturnz%tuple[etree.Element | None, str, str])r<   rk   r=   rl   rm   Úbool)r<   rk   r[   z	list[str]rm   ÚNone)ri   zre.Match[str]rm   ztuple[str, str | None])r   r   r   r   r9   rX   ÚreÚcompilerF   re   r&   rC   rH   r`   rR   r!   Ú__classcell__)r)   s   @r   r   r   1   sK   ø† à€IØ(€OØ	�ŠÐSÓ	T€BØ—
’
˜5Ó!€I÷ ô8(ôtDô$&÷Lò r   r   c                 ó   • [        S0 U D6$ )Nr   )r   )Úkwargss    r   ÚmakeExtensionru   ¶   s   € ÜÑ( Ñ(Ð(r   )r    Ú
__future__r   r,   r   r   r   Úxml.etree.ElementTreerS   ÚElementTreerp   Útypingr   Úmarkdownr	   r   r   ru   r   r   r   Ú<module>r{      sI   ðñ$õ #å Ý ,ß %Ð %Û 	Ý  æÝ$ô^˜)ô ^ôB˜.ô BóJ)r   