
    iKj!                     z   d dl Z d dlmZ d dlmZmZmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZmZ  e j                   d	e j"                        Z e j                   d
      Z G d de	      ZdedefdZdedefdZdedefdZdedeeeef      de
defdZdee   defdZdedeeef   de
defdZdeeef   defdZy)    N)indent)AnyDictIterablecast   )BaseRenderer
BlockState)	strip_end   )render_listrender_list_itemz^[`~]+z(^(\s*)(>|[-+*]|#{1,6}|\d{1,9}[.)])(\s|$)c                   x   e Zd ZdZdZdeeeef      de	defdZ
de	dee   fdZdeeef   de	defd	Zdeeef   de	defd
Zdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZdeeef   de	defdZ deeef   de	defdZ!deeef   de	defdZ"deeef   de	defd Z#deeef   de	defd!Z$deeef   de	defd"Z%deeef   de	defd#Z&y$)%MarkdownRendererz&A renderer to re-format Markdown text.markdowntokensstatereturnc                     | j                  ||      }|dj                  | j                  |            dz   z  }t        |      S )N


)render_tokensjoinrender_referrencesr   )selfr   r   outs       k/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/mistune/renderers/markdown.py__call__zMarkdownRenderer.__call__   sA      /v{{42259:TAA~    c              #      K   |j                   d   }|D ]:  }||   }d|d   z   dz   |d   z   }|j                  d      }|r|d|z   dz   z  }| < y w)	N	ref_links[labelz]: urltitle "")envget)r   r   r!   keyattrstextr%   s          r   r   z#MarkdownRenderer.render_referrences   sl     IIk*	CcNEw'%/%,>DIIg&Eus**J s   AAtokenc                 0    |d   }| j                  ||      S )Nchildren)r   )r   r-   r   r/   s       r   render_childrenz MarkdownRenderer.render_children%   s    $!!(E22r   c                 H    t        t        |d         j                  dd      S )Nraw`z\`)r   strreplacer   r-   r   s      r   r,   zMarkdownRenderer.text)   s"     Cu&..sE::r   c                 2    d| j                  ||      z   dz   S )N*r0   r6   s      r   emphasiszMarkdownRenderer.emphasis.   s    T))%77#==r   c                 2    d| j                  ||      z   dz   S )Nz**r9   r6   s      r   strongzMarkdownRenderer.strong1   s    d**5%884??r   c                 f   t        t        |j                  d            }| j                  ||      }d|z   dz   }|r|dz   |z   dz   S |d   }|d   }|j                  d      }||k(  r
|sd|z   dz   S d	|z   |k(  r
|sd|z   dz   S |d
z  }d
|v sd|v r|d|z   dz   z  }n||z  }|r|d|z   dz   z  }|dz   S )Nr#   r"   ]r+   r$   r%   <>zmailto:()r&   r'   )r   r4   r)   r0   )	r   r-   r   r#   r,   r   r+   r$   r%   s	            r   linkzMarkdownRenderer.link4   s    S%))G,-##E51Dj39u$s**g<		'"3;u:##$U:##s
#:39s?"C3JC4%<#%%CSyr   c                 ,    d| j                  ||      z   S )N!)rC   r6   s      r   imagezMarkdownRenderer.imageL   s    TYYue,,,r   c                 4    dt        t        |d         z   dz   S )Nr3   r2   r   r4   r6   s      r   codespanzMarkdownRenderer.codespanO   s    T#uU|,,s22r   c                      y)Nz  
 r6   s      r   	linebreakzMarkdownRenderer.linebreakR   s    r   c                      yNr   rK   r6   s      r   	softbreakzMarkdownRenderer.softbreakU   s    r   c                      yN rK   r6   s      r   
blank_linezMarkdownRenderer.blank_lineX       r   c                 (    t        t        |d         S )Nr2   rH   r6   s      r   inline_htmlzMarkdownRenderer.inline_html[   s    Cu&&r   c                 B    | j                  ||      }t        |      dz   S )Nr   )r0   _escape_block_prefixr   r-   r   r,   s       r   	paragraphzMarkdownRenderer.paragraph^   s$    ##E51#D)F22r   c                 r    t        t        |d   d         }d|z  }| j                  ||      }|dz   |z   dz   S )Nr+   level# r   )r   intr0   )r   r-   r   r\   markerr,   s         r   headingzMarkdownRenderer.headingb   sF    S%.12u##E51|d"V++r   c                      y)Nz***

rK   r6   s      r   thematic_breakzMarkdownRenderer.thematic_breakh   s    r   c                 >    t        | j                  ||            dz   S rN   )rX   r0   r6   s      r   
block_textzMarkdownRenderer.block_textk   s    #D$8$8$FG$NNr   c                 (   |j                  di       }t        t        |j                  dd            }t        t        |d         }|r|d   dk7  r|dz  }|j                  d      }|st        |      }t        t        |      }||z   dz   |z   |z   dz   S )	Nr+   inforR   r2   r   r`   r   )r)   r   r4   _get_fenced_marker)r   r-   r   r+   rg   coder`   marker2s           r   
block_codezMarkdownRenderer.block_coden   s    		'2&C62./Cu&DH$DLD8$'-FsF#~$t+g5>>r   c                 j    t        | j                  ||      dd       }|j                  d      }|dz   S )Nz> c                      y)NTrK   )_s    r   <lambda>z.MarkdownRenderer.block_quote.<locals>.<lambda>|   s    $r   z> 
r   )r   r0   rstriprY   s       r   block_quotezMarkdownRenderer.block_quote{   s5    d**5%8$O{{6"f}r   c                 .    t        t        |d         dz   S )Nr2   r   rH   r6   s      r   
block_htmlzMarkdownRenderer.block_html   s    Cu&//r   c                      yrQ   rK   r6   s      r   block_errorzMarkdownRenderer.block_error   rT   r   c                     t        | ||      S N)r   r6   s      r   listzMarkdownRenderer.list   s    4..r   c                     t        | ||      S rx   )r   r6   s      r   	list_itemzMarkdownRenderer.list_item   s    eU33r   c                 l    |j                  di       j                  d      }|rdnd}t        | |||      S )Nr+   checkedz[x] z[ ] )r)   r   )r   r-   r   r}   r`   s        r   task_list_itemzMarkdownRenderer.task_list_item   s7    ))GR(,,Y7"eUF;;r   c           
         |j                  dg       }|sy|d   }t        |      dkD  r|d   nd }|j                  dg       }|D cg c]  }t        |       }}t        | ||      t	        |      g}	|rC|j                  dg       D ].  }
|	j                  t        | |
j                  dg       |             0 dj                  |	      dz   S c c}w )Nr/   r   r   r   r   )r)   len_table_cell_align_render_table_row_render_table_delimiterappendr   )r   r-   r   r/   headbody
head_cellscellalignlinesrows              r   tablezMarkdownRenderer.table   s    99Z,{!(ma/x{TXXj"-
5?@ZT"4(Z@dJ6#E*
 xx
B/.tSWWZ5LeTU 0yy&(( As   Cc           	          |j                  dg       }t        | ||      dz   t        |D cg c]  }t        |       c}      z   S c c}w Nr/   r   )r)   r   r   r   )r   r-   r   cellscs        r   
table_headzMarkdownRenderer.table_head   sT    		*b)dE51%U&KU'8';U&KLM	
 'Ls   A
c                 \     dj                   fd|j                  dg       D              S )Nr   c              3   `   K   | ]%  }j                  |      j                  d        ' yw)r   N)render_tokenrq   ).0r   r   r   s     r   	<genexpr>z.MarkdownRenderer.table_body.<locals>.<genexpr>   s,     iOh**36==dCOhs   +.r/   )r   r)   r6   s   ` `r   
table_bodyzMarkdownRenderer.table_body   s%    yyiuyyYcegOhiiir   c                 B    t        | |j                  dg       |      dz   S r   )r   r)   r6   s      r   	table_rowzMarkdownRenderer.table_row   s!     uyyR'@%H4OOr   c                     t        | ||      S rx   _render_table_cellr6   s      r   
table_cellzMarkdownRenderer.table_cell   s    !$u55r   N)'__name__
__module____qualname____doc__NAMEr   r   r4   r   r
   r   r   r0   r,   r:   r<   rC   rF   rI   rL   rO   rS   rV   rZ   ra   rc   re   rl   rr   rt   rv   ry   r{   r~   r   r   r   r   r   rK   r   r   r   r      s   0DxS#X7 
 s 
 x} 3T#s(^ 3J 33 3;$sCx. ; ; ;
>d38n >Z >C >@DcN @: @# @$sCx.   0-4S> -* - -3d38n 3Z 3C 3tCH~ j S tCH~ j S S#X z c 'c3h '
 's '3tCH~ 3j 3S 3,T#s(^ ,J ,3 ,DcN : # OS#X Oz Oc O?S#X ?z ?c ?c3h 
 s 
0S#X 0z 0c 0c3h 
 s /$sCx. / / /4tCH~ 4j 4S 4<DcN <: <# <
)4S> )* ) )$
S#X 
z 
c 
jS#X jz jc jPtCH~ Pj PS P6S#X 6z 6c 6r   r   r,   r   c                 P    dj                  d | j                  d      D              S )zBackslash-escape a leading block marker on each line so that literal
    text is not re-parsed as a list, heading or block quote.r   c              3   2   K   | ]  }t        |        y wrx   )_escape_line_prefix)r   lines     r   r   z'_escape_block_prefix.<locals>.<genexpr>   s     L;K4(.;Ks   )r   split)r,   s    r   rX   rX      s"     99L4::d;KLLLr   r   c                     t         j                  |       }|s| S |j                  d      |j                  d      }}||d d z   dz   |d   z   | |j                  d      d  z   S )Nr   r   rh   \)_block_prefix_rematchgroupend)r   mindent_r`   s       r   r   r      sf    t$Aggaj!''!*VGVCR[ 4'&*4tAEE!HJ7GGGr   rj   c                     t         j                  |       }|syg }g }|D ]?  }|d   dk(  r|j                  t        |             &|j                  t        |             A |sy|sydt	        |      dz   z  S )Nz```r   r3   z~~~r   )	fenced_refindallr   r   max)rj   foundtickswavesss        r   ri   ri      sx    d#EEEQ43;LLQ LLQ 	  #e*q.!!r   rendererr   r   c                 H     ddj                   fd|D              z   dz   S )N|  | c              3   8   K   | ]  }t        |        y wrx   r   )r   r   r   r   s     r   r   z$_render_table_row.<locals>.<genexpr>   s     YSX4/$FSXs    |)r   )r   r   r   s   ` `r   r   r      s$    %**YSXYYY\```r   alignsc                     g }| D ]X  }|dk(  r|j                  d       |dk(  r|j                  d       1|dk(  r|j                  d       H|j                  d       Z dd	j                  |      z   d
z   S )Nleftz:---centerz:---:rightz---:z---r   r   r   )r   r   )r   r   r   s      r   r   r      ss    EF?LL hLL!gLL LL  %**U##d**r   r-   c                     d|v r| j                  ||      }n t        t        |j                  dd            }|j	                  dd      j	                  dd      j                         S )Nr/   r2   rR   r   r^   |z\|)r0   r   r4   r)   r5   strip)r   r-   r   r,   s       r   r   r      sZ    U''u5C5"-.<<c"**36<<>>r   c                 D    | j                  di       j                  d      S )Nr+   r   )r)   )r-   s    r   r   r      s    99Wb!%%g..r   )retextwrapr   typingr   r   r   r   corer	   r
   utilr   _listr   r   compileMr   r   r   r4   rX   r   ri   r   r   r   r   rK   r   r   <module>r      s&   	  , , +  0BJJy"$$'	 2::IJ b6| b6JMs Ms MHc Hc H"S "S "*a 0 a$sCx.9Q aZd ail a+HSM +c +?!1 ?$sCx. ?Q[ ?`c ?/T#s(^ / /r   