
    gN                       % S r SSKJr  SSKrSSKJr  SSKJr  SSKJ	r	  SSK
Jr  \R                  " \5      rS	\R                  S
S/4S\R                   4S\R"                  / SQ4S\R$                  / SQ4S\R&                  / SQ4S\R(                  / SQ4S\R*                  4S\R,                  / SQ4S\R.                  / SQ4S\R0                  4S
\R2                  4/rS\S'    " S S5      rg)zBlock-level tokenizer.    )annotationsN   )rules_block)Ruler)
StateBlock)Tokentable	paragraph	referencecodefence)r
   r   
blockquotelistr   hrr   )r
   r   r   
html_blockheadinglheadingzlist[tuple]_rulesc                  ^    \ rS rSrSrS r S         S	S jjr S
       SS jjrSrg)ParserBlock#   zT
ParserBlock#ruler -> Ruler

[[Ruler]] instance. Keep configuration of block rules.
c           	         [        5       U l        [         H?  nUS   nUS   nU R                  R                  X#S[	        U5      S:  a  US   O/ 05        MA     g )Nr   r   alt   )r   rulerr   pushlen)selfdatanamerules       8lib/python3.13/site-packages/markdown_it/parser_block.py__init__ParserBlock.__init__*   sN    W
D7D7DJJOOD3t9q=Qb(QR     c                >   U R                   R                  S5      nUnUR                  R                  R                  nSnXc:  a  UR                  U5      =Ul        nXc:  a  gUR                  U   UR                  :  a  gUR                  U:  a  X1l        gU H  n	U	" XUS5      (       d  M    O   U(       + Ul
        UR                  nUS-
  U:  a  UR                  US-
  5      (       a  SnXc:  a#  UR                  U5      (       a  SnUS-  nXal        Xc:  a  M  gg)z Generate tokens for input range. Fr   TN)r   getRulesmdoptions
maxNestingskipEmptyLineslinesCount	blkIndentleveltightisEmpty)
r   state	startLineendLinesilentrulesr-   r+   hasEmptyLinesr!   s
             r"   tokenizeParserBlock.tokenize1   s    

##B'XX%%00
n % 4 4T ::EJ||D!EOO3 {{j( %
 We44  ,+EK::D qG#dQh(?(? $~%--"5"5 $	!
I nr%   Nc                    U(       d  g[        XX4U5      nU R                  XfR                  UR                  5        UR                  $ )z<Process input string and push block tokens into `outTokens`.N)r   r9   r-   lineMaxtokens)r   srcr)   env	outTokensordsr3   s          r"   parseParserBlock.parse`   s8     3CD9eZZ7||r%   )r   )F)
r3   r   r4   intr5   rD   r6   boolreturnNone)N)r>   strr@   zlist[Token]rA   ztuple[int, ...] | NonerF   zlist[Token] | None)	__name__
__module____qualname____firstlineno____doc__r#   r9   rB   __static_attributes__ r%   r"   r   r   #   sw    S OT-"-",/-":=-"GK-"	-"j (,
  % 
 r%   r   )rM   
__future__r   loggingr'   r   r   r   rules_block.state_blockr   tokenr   	getLoggerrI   LOGGERr	   r   r   r   r   
list_blockr   r   r   r   r
   r   __annotations__r   rO   r%   r"   <module>rX      s     "    / 			8	$ k+{!;<[k!QR8
 
;>>KL[##%MN+''(;))+ST##%MN%%&+''(# *J Jr%   