o
    ;hK                     @  sf   d dl mZ d dlZddlmZmZ ddlmZ edZ	edZ
dddZdddZdddZdS )    )annotationsN   )	charStrAt
isStrSpace   )
StateBlockz^:?-+:?$z^\||\|$stater   lineintreturnstrc                 C  s,   | j | | j|  }| j| }| j|| S )N)bMarkstShifteMarkssrc)r   r	   posmaximum r   P/var/www/html/venv/lib/python3.10/site-packages/markdown_it/rules_block/table.pygetLine   s   
r   string	list[str]c                 C  s   g }d}t | }d}d}d}t| |}||k rL|dkr;|s/||| ||   d}|d }n|| ||d  7 }|}|dk}|d7 }t| |}||k s||| |d    |S )Nr   F |r   \)lenr   append)r   resultr   maxZ	isEscapedZlastPoscurrentchr   r   r   escapedSplit   s*   


r!   	startLineendLinesilentboolc              	   C  s  d }|d |kr
dS |d }| j | | jk rdS | |rdS | j| | j|  }|| j| kr2dS | j| }|d7 }|dvrAdS || j| krJdS | j| }|d7 }|dvr]t|s]dS |dkrgt|rgdS || j| k r| j| }	|	dvr}t|	s}dS |d7 }|| j| k snt| |d }
|
	d}g }t
t|D ]N}||  }|s|dks|t|d krq dS t|s dS t|t|d dkr|t|ddkrd	nd
 qt|ddkr|d q|d qt| | }
d|
vrdS | |rdS t|
}|r|d dkr|d |r |d dkr |  t|}|dks0|t|kr2dS |r7dS | j}d| _| jjjd}| ddd}|dg |_}| ddd}||d g|_| ddd}||d g|_t
t|D ]7}| ddd}|| rdd||  i|_| ddd}||d g|_||  |_g |_| ddd}qu| ddd}| ddd}|d }||k r| j | | jk rnd}t
t|D ]}|| | ||drd} nq|rnt| | }
|
sn| |rnt|
}|r|d dkr|d |r|d dkr|  ||d kr6| ddd}|d dg |_}| ddd}||d g|_t
|D ]N}| d d!d}|| r_dd||  i|_| ddd}||d g|_z|| ry||  nd|_W n ty   d|_Y nw g |_| d"d!d}qH| ddd}|d7 }||k s|r| d#dd}||d< | d$dd}||d< || _|| _dS )%Nr   Fr   )r   -:r&   r   r   r'   centerrightleftr   TtableZ
blockquoteZ
table_openZ
thead_openZtheadZtr_opentrZth_openthstyleztext-align:inlineZth_closeZtr_closeZthead_closeZ
tbody_openZtbodyZtd_opentdZtd_closeZtbody_closeZtable_close)ZsCountZ	blkIndentZis_code_blockr   r   r   r   r   r   splitranger   stripheaderLineResearchr   r   r!   popZ
parentTypemdblockZrulerZgetRulespushmapattrscontentchildren
IndexErrorr	   )r   r"   r#   r$   Z
tbodyLinesZnextLiner   Zfirst_chZ	second_chr    ZlineTextcolumnsZalignsitZcolumnCountZoldParentTypeZterminatorRulestokenZ
tableLines	terminater   r   r   r,   4   s  











 

3r,   )r   r   r	   r
   r   r   )r   r   r   r   )
r   r   r"   r
   r#   r
   r$   r%   r   r%   )
__future__r   reZcommon.utilsr   r   Zstate_blockr   compiler5   ZenclosingPipesRer   r!   r,   r   r   r   r   <module>   s   



