
    h;                        d dl Z d dlmZmZmZmZ ddlmZ erddlm	Z	m
Z
 ddlmZ ddlmZ g dZ e j                   d	ez   d
z         Z e j                   d	ez   dz         Z e j                   d	ez   dz         Zdez   dz   Zdez   dz   Zdddee   dddee   fdZdddedefdZdddee   dddee   fdZdddedefdZdddee   dddee   fdZdddedefdZdddee   dddefd Zdddedefd!Zdddee   dddefd"Z dddedefd#Z!dddee   ddd$ed%ee   dee   fd&Z"dddee   ddd$edef
d'Z#d-d(Z$d-d)Z%d-d*Z&d-d+Z'd-d,Z(y).    N)TYPE_CHECKINGMatchOptionalPattern   )PREVENT_BACKSLASH)BaseRendererInlineState)InlineParser)Markdown)strikethroughmarkinsertsuperscript	subscriptz(?:z\\~|[^\s~])~~(?!~)z\\=|[^\s=])==(?!=)z\\\^|[^\s^])\^\^(?!\^)z\^(?:z\\\^|\S|\\ )+?\^z~(?:z\\~|\S|\\ )+?~inliner   mstater
   returnc                 (    t        | ||dt              S )Nr   )_parse_to_end_STRIKE_ENDr   r   r   s      Y/var/www/html/aiagenthome/venv/lib/python3.12/site-packages/mistune/plugins/formatting.pyparse_strikethroughr      s    E?KHH    rendererr	   textc                     d|z   dz   S )Nz<del>z</del> r   r   s     r   render_strikethroughr"          T>H$$r   c                 (    t        | ||dt              S )Nr   )r   	_MARK_ENDr   s      r   
parse_markr&      s    E69==r   c                     d|z   dz   S )Nz<mark>z</mark>r    r!   s     r   render_markr(   !   s    d?Y&&r   c                 (    t        | ||dt              S )Nr   )r   _INSERT_ENDr   s      r   parse_insertr+   %   s    E8[AAr   c                     d|z   dz   S )Nz<ins>z</ins>r    r!   s     r   render_insertr-   )   r#   r   c                     t        | ||d      S )Nr   _parse_scriptr   s      r   parse_superscriptr1   -   s    E=99r   c                     d|z   dz   S )Nz<sup>z</sup>r    r!   s     r   render_superscriptr3   1   r#   r   c                     t        | ||d      S )Nr   r/   r   s      r   parse_subscriptr5   5   s    E;77r   c                     d|z   dz   S )Nz<sub>z</sub>r    r!   s     r   render_subscriptr7   9   r#   r   tok_typeend_patternc                     |j                         }|j                  |j                  |      }|sy |j                         }|j                  ||dz
   }|j                         }	||	_        | j	                  |	      }
|j                  ||
d       |S )Nr   typechildren)endsearchsrccopyrenderappend_token)r   r   r   r8   r9   posm1end_posr   	new_stater=   s              r   r   r   =   s     %%'C			EIIs	+BffhG99S7Q;'D

IIM}}Y'H	h?@Nr   c                     |j                  d      }|j                         }|dd j                  dd      |_        | j	                  |      }|j                  ||d       |j                         S )Nr      z\  r;   )grouprA   replacer@   rB   rC   r>   )r   r   r   r8   r   rG   r=   s          r   r0   r0   Q   s`    771:D

I2J&&uc2IM}}Y'H	h?@557Nr   c                     | j                   j                  ddt        d       | j                  r;| j                  j                  dk(  r!| j                  j                  dt
               yyy)aI  A mistune plugin to support strikethrough. Spec defined by
    GitHub flavored Markdown and commonly used by many parsers:

    .. code-block:: text

        ~~This was mistaken text~~

    It will be converted into HTML:

    .. code-block:: html

        <del>This was mistaken text</del>

    :param md: Markdown instance
    r   z~~(?=[^\s~])linkbeforehtmlN)r   registerr   r   NAMEr"   mds    r   r   r   Z   s]      II	   
{{r{{''61
_.BC 2{r   c                     | j                   j                  ddt        d       | j                  r;| j                  j                  dk(  r!| j                  j                  dt
               yyy)zA mistune plugin to add ``<mark>`` tag. Spec defined at
    https://facelessuser.github.io/pymdown-extensions/extensions/mark/:

    .. code-block:: text

        ==mark me== ==mark \=\= equal==

    :param md: Markdown instance
    r   z==(?=[^\s=])rO   rP   rR   N)r   rS   r&   r   rT   r(   rU   s    r   r   r   t   s\     II	   
{{r{{''61
V[1 2{r   c                     | j                   j                  ddt        d       | j                  r;| j                  j                  dk(  r!| j                  j                  dt
               yyy)zA mistune plugin to add ``<ins>`` tag. Spec defined at
    https://facelessuser.github.io/pymdown-extensions/extensions/caret/#insert:

    .. code-block:: text

        ^^insert me^^

    :param md: Markdown instance
    r   z\^\^(?=[^\s\^])rO   rP   rR   N)r   rS   r+   r   rT   r-   rU   s    r   r   r      s\     II	   
{{r{{''61
X}5 2{r   c                     | j                   j                  dt        t        d       | j                  r;| j                  j
                  dk(  r!| j                  j                  dt               yyy)zA mistune plugin to add ``<sup>`` tag. Spec defined at
    https://pandoc.org/MANUAL.html#superscripts-and-subscripts:

    .. code-block:: text

        2^10^ is 1024.

    :param md: Markdown instance
    r   	linebreakrP   rR   N)r   rS   SUPERSCRIPT_PATTERNr1   r   rT   r3   rU   s    r   r   r      sV     II}&9;LU`a	{{r{{''61
],>? 2{r   c                     | j                   j                  dt        t        d       | j                  r;| j                  j
                  dk(  r!| j                  j                  dt               yyy)zA mistune plugin to add ``<sub>`` tag. Spec defined at
    https://pandoc.org/MANUAL.html#superscripts-and-subscripts:

    .. code-block:: text

        H~2~O is a liquid.

    :param md: Markdown instance
    r   rZ   rP   rR   N)r   rS   SUBSCRIPT_PATTERNr5   r   rT   r7   rU   s    r   r   r      sT     II{$5{[	{{r{{''61
[*:; 2{r   )rV   r   r   N))retypingr   r   r   r   helpersr   corer	   r
   inline_parserr   markdownr   __all__compiler   r%   r*   r[   r]   strintr   r"   r&   r(   r+   r-   r1   r3   r5   r7   r   r0   r   r   r   r   r   r    r   r   <module>rh      s   	 : : '0,#
Ibjj"336KKLBJJv 114IIJ	bjj"336OOP!225HH //2CC I I5: Im IX`adXe I%> % % %>~ >%* >] >xX[} >'. ' ' 'B BE#J B} BQYZ]Q^ B%N %# %# %:n :s :M :VY :% %s %s %8N 8uSz 8- 8TW 8%~ %S %S %Sz  	
  c](. U3Z  Y\ ad D42(6(@<r   