o
    #j3                     @  s>   d dl mZ ddlmZmZ dd	d
ZdddZdddZdS )    )annotations   )	DelimiterStateInlinestater   silentboolreturnc           	   
   C  sz  | j }| j| }|rdS |dkrdS | | j d}|j}| jjdd}|rj|dk r,dS |dkrF| ddd	}|| |_|  j |j7  _ dS | ddd	}|| |_| j	
tt|d	t| jd d
|j|jd nI|dk rpdS |d r| ddd	}||_|d8 }d	}||k r| ddd	}|| |_| j	
tt|d	t| jd d
|j|jd |d7 }||k s|  j |j7  _ dS )a7  Insert each marker as a separate text token, and add it to delimiter list.

    When the ``strikethrough_single_tilde`` option is enabled on the
    ``MarkdownIt`` instance, single ``~`` delimiters are also accepted and
    runs of three or more tildes are rejected (matching GitHub's rendering behaviour).
    F~Tstrikethrough_single_tilder      text r   )markerlengthtokenendopenclose)possrcZ
scanDelimsr   mdoptionsgetpushcontent
delimitersappendr   ordlentokensZcan_openZ	can_close)	r   r   startchZscannedr   single_tilder   i r&   g/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/markdown_it/rules_inline/strikethrough.pytokenize   sj   



r(   r   list[Delimiter]Nonec                 C  s  g }t |}| jjdd}d}||k r|| }|jdkr"|d7 }q|jdkr,|d7 }q||j }|rJ| j|j j}| j|j j}	||	krJ|d7 }q| j|j j}
| j|j }d|_	d|_
d|_|
|_d	|_| j|j }d
|_	d|_
d|_|
|_d	|_| j|jd  j	dkr| j|jd  jdkr||jd  |d7 }||k s|r| }|d }|t | jk r| j| j	d
kr|d7 }|t | jk r| j| j	d
ks|d8 }||kr| j| }| j| | j|< || j|< |sd S d S )Nr   Fr   ~   r   r   Zs_opensr   Zs_closer   r
   )r    r   r   r   r   r   r!   r   r   typetagZnestingmarkupr   pop)r   r   ZloneMarkersmaximumr$   r%   Z
startDelimZendDelimZopener_contentZcloser_contentr/   r   jr&   r&   r'   _postProcessU   sb   


4

r3   c                 C  sz   | j }t| j }t| | j d}||k r;z|| }W n	 ty#   Y nw |r1d|v r1t| |d  |d7 }||k sdS dS )z>Walk through delimiter list and replace text tokens with tags.r   r   r   N)tokens_metar    r3   r   
IndexError)r   r4   r1   currZ	curr_metar&   r&   r'   postProcess   s   
r7   N)r   r   r   r   r	   r   )r   r   r   r)   r	   r*   )r   r   r	   r*   )
__future__r   Zstate_inliner   r   r(   r3   r7   r&   r&   r&   r'   <module>   s
   

NI