
    ̆hf                        S r SSKJr  SSKJr  SSKJr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 S\5      rS rg)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                  >   ^  \ rS rSrSrS/r Sr SU 4S jjrSrU =r	$ )SaneOListProcessor!   zJOverride `SIBLING_TAGS` to not include `ul` and set `LAZY_OL` to `False`. olFc                z   > [         TU ]  U5        [        R                  " SU R                  S-
  -  5      U l        g )Nz^[ ]{0,%d}((\d+\.))[ ]+(.*)r   super__init__recompile
tab_lengthCHILD_REselfparser	__class__s     V/opt/services/DDDS/venv/lib/python3.13/site-packages/markdown/extensions/sane_lists.pyr   SaneOListProcessor.__init__)   4     

#A$(OOa$7$9 :    r   r   zblockparser.BlockParser)
__name__
__module____qualname____firstlineno____doc__SIBLING_TAGSLAZY_OLr   __static_attributes____classcell__r   s   @r   r   r   !   s"    U6L/G': :r   r   c                  8   ^  \ rS rSrSrS/r SU 4S jjrSrU =r$ )SaneUListProcessor/   z-Override `SIBLING_TAGS` to not include `ol`. ulc                z   > [         TU ]  U5        [        R                  " SU R                  S-
  -  5      U l        g )Nz^[ ]{0,%d}(([*+-]))[ ]+(.*)r   r   r   s     r   r   SaneUListProcessor.__init__5   r   r   r   r    )	r!   r"   r#   r$   r%   r&   r   r(   r)   r*   s   @r   r,   r,   /   s    86L/: :r   r,   c                      \ rS rSrSrS rSrg)SaneListExtension;   zAdd sane lists to Markdown. c                    UR                   R                  R                  [        UR                   5      SS5        UR                   R                  R                  [	        UR                   5      SS5        g)zOverride existing Processors. olist(   ulist   N)r   blockprocessorsregisterr   r,   )r   mds     r   extendMarkdown SaneListExtension.extendMarkdown>   sP    
		!!**+=bii+H'SUV
		!!**+=bii+H'SUVr    N)r!   r"   r#   r$   r%   r<   r(   r>   r   r   r2   r2   ;   s    'Wr   r2   c                     [        S0 U D6$ )Nr>   )r2   )kwargss    r   makeExtensionrA   D   s    &v&&r   )r%   
__future__r    r   r9   r   r   r   typingr	   r
   r   r,   r2   rA   r>   r   r   <module>rE      sL    #  < 	  : :	: 	:W	 W'r   