o
    ¼>hf  ã                   @  sŒ   d Z ddlmZ ddlmZ ddlmZmZ ddlZddl	m
Z
 e
r(dd	lmZ G d
d„ deƒZG dd„ deƒZG dd„ deƒZdd„ ZdS )z¤
Modify the behavior of Lists in Python-Markdown to act in a sane manor.

See [documentation](https://Python-Markdown.github.io/extensions/sane_lists)
for details.
é    )Úannotationsé   )Ú	Extensioné   )ÚOListProcessorÚUListProcessorN)ÚTYPE_CHECKING)Úblockparserc                      s0   e Zd ZdZdgZ	 dZ	 d‡ fdd„Z‡  ZS )	ÚSaneOListProcessorzK Override `SIBLING_TAGS` to not include `ul` and set `LAZY_OL` to `False`. ÚolFÚparserúblockparser.BlockParserc                   ó&   t ƒ  |¡ t d| jd  ¡| _d S )Nz^[ ]{0,%d}((\d+\.))[ ]+(.*)r   ©ÚsuperÚ__init__ÚreÚcompileÚ
tab_lengthÚCHILD_RE©Úselfr   ©Ú	__class__© ú~/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/markdown/extensions/sane_lists.pyr   )   ó   ÿzSaneOListProcessor.__init__©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚSIBLING_TAGSÚLAZY_OLr   Ú__classcell__r   r   r   r   r
   !   s    r
   c                      s*   e Zd ZdZdgZ	 d‡ fdd„Z‡  ZS )ÚSaneUListProcessorz. Override `SIBLING_TAGS` to not include `ol`. Úulr   r   c                   r   )Nz^[ ]{0,%d}(([*+-]))[ ]+(.*)r   r   r   r   r   r   r   5   r   zSaneUListProcessor.__init__r   )r   r   r    r!   r"   r   r$   r   r   r   r   r%   /   s
    r%   c                   @  s   e Zd ZdZdd„ ZdS )ÚSaneListExtensionz Add sane lists to Markdown. c                 C  s4   |j j t|j ƒdd¡ |j j t|j ƒdd¡ dS )z Override existing Processors. Úolisté(   Úulisté   N)r   ÚblockprocessorsÚregisterr
   r%   )r   Úmdr   r   r   ÚextendMarkdown>   s   z SaneListExtension.extendMarkdownN)r   r   r    r!   r/   r   r   r   r   r'   ;   s    r'   c                  K  s   t di | ¤ŽS )Nr   )r'   )Úkwargsr   r   r   ÚmakeExtensionD   s   r1   )r!   Ú
__future__r   Ú r   r,   r   r   r   Útypingr   r	   r
   r%   r'   r1   r   r   r   r   Ú<module>   s   	