
    i3                    :    d dl mZ ddlmZmZ dd	ZddZddZdS )    )annotations   )	DelimiterStateInlinestater   silentboolreturnc           
        | j         }| j        |         }|rdS |dk    rdS |                     | j         d          }|j        }| j        j                            dd          }|r|dk     rdS |dk    r8|                     ddd	          }||z  |_        | xj         |j        z  c_         dS |                     ddd	          }||z  |_        | j	        
                    t          t          |          d	t          | j                  dz
  d
|j        |j                             n|dk     rdS |dz  r#|                     ddd	          }||_        |dz  }d	}||k     r|                     ddd	          }||z   |_        | j	        
                    t          t          |          d	t          | j                  dz
  d
|j        |j                             |dz  }||k     | xj         |j        z  c_         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src
scanDelimsr   mdoptionsgetpushcontent
delimitersappendr   ordlentokenscan_open	can_close)	r   r   startchscannedr   single_tilder   is	            m/home/piyush/.hermes/hermes-agent/venv/lib/python3.11/site-packages/markdown_it/rules_inline/strikethrough.pytokenizer-      s:    IE	5	B u	Syyuuy$//G^F8#''(DeLLL 2A::5A:: JJvr1--EKEMII'II4

62q))V2ww%,''!+%'  		
 		
 		
 		
 A::5A: 	JJvr1--EEMaKF&jjJJvr1--EGEM##r77el++a/ )!+  	 	 	 FA &jj  
IIII4    r    list[Delimiter]Nonec                   g }t          |          }| j        j                            dd          }d}||k     rY||         }|j        dk    r|dz  } |j        dk    r|dz  }1||j                 }|r:| j        |j                 j        }| j        |j                 j        }	||	k    r|dz  }z| j        |j                 j        }
| j        |j                 }d|_	        d|_
        d|_        |
|_        d	|_        | j        |j                 }d
|_	        d|_
        d|_        |
|_        d	|_        | j        |j        dz
           j	        dk    r;| j        |j        dz
           j        dk    r|                    |j        dz
             |dz  }||k     Y|r|                                }|dz   }|t          | j                  k     rI| j        |         j	        d
k    r3|dz  }|t          | j                  k     r| j        |         j	        d
k    3|dz  }||k    r,| j        |         }| j        |         | j        |<   || j        |<   |d S d S )Nr   Fr   ~   r   r   s_opensr   s_closer   r   )r#   r   r   r   r   r   r$   r   r   typetagnestingmarkupr!   pop)r   r    loneMarkersmaximumr*   r+   
startDelimendDelimopener_contentcloser_contentr9   r   js                r,   _postProcessrB   U   s}   K*ooG8#''(DeLLL	A
g++]
$$FA>RFAjn-  	"\**:;CN"\(.9AN//Qj./7Z-.
	X^,
	 L!+,1V;;X^a/08C??x~1222	QY g++h  $OOE3u|$$$$5<?+?9+L+LFA 3u|$$$$5<?+?9+L+L 	
Q66LOE#l1oELO#ELO  $ $ $ $ $r.   c                    | j         }t          | j                   }t          | | j                   d}||k     rC	 ||         }|rd|v rt          | |d                    n# t          $ r Y nw xY w|dz  }||k     AdS dS )z>Walk through delimiter list and replace text tokens with tags.r   r    r   N)tokens_metar#   rB   r    
IndexError)r   rD   r<   curr	curr_metas        r,   postProcessrH      s    #K%#$$G()))D
..	=#D)I  =\Y66UIl$;<<<	  	 	 	D	
 		 ......s   A 
A,+A,N)r   r   r   r	   r
   r	   )r   r   r    r/   r
   r0   )r   r   r
   r0   )
__future__r   state_inliner   r   r-   rB   rH    r.   r,   <module>rL      s    " " " " " " 0 0 0 0 0 0 0 0K K K K\F$ F$ F$ F$R     r.   