
    iKj                        d dl Z d dlmZmZmZmZmZmZmZm	Z	 erddl
mZ ddlmZmZ ddlmZ g dZdZd	Z e j(                  d
      Z e j(                  d      Z e j(                  d      Zdddee   dddee   fdZdddee   dddee   fdZdedede	ed   eeeef   eee      f   f   fdZdedeee      deeeef      fdZdedee   fdZdddedefdZdedee   fd Z dedee   fd!Z!dedede"fd"Z#d#d$dedefd%Z$d#d$dedefd&Z%d#d$dedefd'Z&d#d$dedefd(Z'd.d#d$dedee   d)e"def
d*Z(d/d+Z)d/d,Z*d/d-Z+y)0    N)TYPE_CHECKINGAnyDictListMatchOptionalTupleUnion   )BlockParser)BaseRenderer
BlockState)Markdown)tabletable_in_quotetable_in_listz^ {0,3}\|[^\n]*\|[ \t]*(?:\n|$)z^ {0,3}\S[^\n]*\|[^\n]*(?:\n|$)z
^ *:-+: *$z	^ *:-+ *$z	^ *-+: *$blockr   mstater   returnc                 T   |j                         }t        |j                  d            }|y |j                  |      }t        |      }|y t	        ||      \  }}|st        ||t        |      z         S |J |t        |      z  }g }	||j                  k  rt|j                  |      }
t        |
      }|nUt        ||      }|st        ||t        |
      z         S |	j                  |       |t        |
      z  }||j                  k  rt|d|	dg}|j                  d|d       |S Nr   
table_bodytypechildrenr   )end_strip_pipe_table_rowgroupget_line_process_thead_parse_invalid_pipe_tablelen
cursor_max_process_rowappendappend_tokenr   r   r   posheader
align_linealigntheadalignsrowslinetextrowr   s                 f/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/mistune/plugins/table.pyparse_tabler4      s4   
%%'C"1771:.F~$J!*-E}"651ME6(c*o0EFF3z?CD
  
 ~~c"$T*<4(,UC#d)ODDCs4y   
  $?@H	X>?J    c                    |j                         }t        |j                  d            }|y |j                  |      }t        |      }|y t	        ||      \  }}|sy |J |t        |      z  }g }	||j                  k  r]|j                  |      }
t        |
      }|n>t        ||      }|sy |	j                  |       |t        |
      z  }||j                  k  r]|d|	dg}|j                  d|d       |S r   )
r   _strip_table_liner   r    r!   r#   r$   r%   r&   r'   r(   s                 r3   parse_nptabler8   B   s   
%%'Cqwwqz*F~$Jj)E}"651ME63z?CD
  
 ~~c" &<4(Cs4y   
  $?@H	X>?Jr5   r*   r,   NNc           	         t        |       }t        |      }t        |      t        |      k7  ryg }|D ]  }t        j                  |      r|j	                  d       *t
        j                  |      r|j	                  d       Qt        j                  |      r|j	                  d       x|j	                  d         t        |      D cg c]  \  }}d|j                         ||   ddd! }}}d	|d
}	|	|fS c c}}w )Nr9   centerleftright
table_cellTr,   headr   r1   attrs
table_headr   )	_split_table_cellsr#   ALIGN_CENTERmatchr&   
ALIGN_LEFTALIGN_RIGHT	enumeratestrip)
r*   r,   headers
raw_alignsr.   vir1   r   r-   s
             r3   r!   r!   e   s     (G#E*J
7|s:&"$Fa MM(#a MM&!q!MM'"MM$  !)&)GAt tzz|q	[_>`a)  & &2xHE&=&s   $C<r1   r.   c           	          t        |       }t        |      t        |      k7  ry t        |      D  cg c]  \  }} d| j                         ||   ddd! }}} d|dS c c} }w )Nr>   Fr?   rA   	table_rowr   )rD   r#   rI   rJ   )r1   r.   cellsrN   r   s        r3   r%   r%   ~   ss    t$E
5zS[  !'&'GAt tzz|q	[`>ab'  &  X66	&s   $Ar0   c                     | j                  d      j                  d      }|j                  d      s"|j                  d      r|j                  d      }|j                  d      r|j                  d      sy |dd S )N
 	|) 	rV      )rstrip
startswithlstripendswithr0   r1   s     r3   r   r      sf    ;;t##E*D??3DOOK$@{{3??3t}}S'9":r5   r)   c                     || j                   k  r;| j                  |      }t        |      n|t        |      z  }|| j                   k  r;| j	                  | j
                  | j                  |        |S )N)r$   r    r   r#   add_paragraphsrccursor)r   r)   r0   s      r3   r"   r"      sn    
  
 ~~c" &.s4y	   
 
 
		%,,56Jr5   c                 T    | j                  d      j                  d      }|rd|vry |S )NrS   rT   rU   )rZ   r^   s     r3   r7   r7      s,    ;;t##E*D3d?Kr5   c                    g }d}d}|t        |       k  rO| |   dk(  r3t        | |      s'|j                  | || j                                |dz   }|dz  }|t        |       k  rO|j                  | |d  j                                |S )Nr   rU   rX   )r#   _is_escaped_piper&   rJ   )r1   rQ   startr)   s       r3   rD   rD      s    EE
C
D	/9$4T3$?LLeC..01!GEq	 D	/
 
LLef##%&Lr5   c                 j    d}|dz  }|dk\  r | |   dk(  r|dz  }|dz  }|dk\  r	| |   dk(  r|dz  dk(  S )Nr   rX   \r    )r1   r)   backslashess      r3   re   re      sZ    K1HC
(tCyD(qq (tCyD( ?ar5   rendererr   c                     d|z   dz   S )Nz<table>
z	</table>
ri   rk   r1   s     r3   render_tablern          ,,r5   c                     d|z   dz   S )Nz<thead>
<tr>
z</tr>
</thead>
ri   rm   s     r3   render_table_headrq      s    t#&999r5   c                     d|z   dz   S )Nz<tbody>
z	</tbody>
ri   rm   s     r3   render_table_bodyrs      ro   r5   c                     d|z   dz   S )Nz<tr>
z</tr>
ri   rm   s     r3   render_table_rowru      s    d?Y&&r5   r@   c                 V    |rd}nd}d|z   }|r|d|z   dz   z  }|dz   |z   dz   |z   dz   S )	Nthtdz  <z style="text-align:">z</z>
ri   )rk   r1   r,   r@   taghtmls         r3   render_table_cellr}      sN    3;D%-33#:t#c)E11r5   c                 .   | j                   j                  dt        t        d       | j                   j                  dt        t
        d       | j                  r| j                  j                  dk(  r| j                  j                  dt               | j                  j                  dt               | j                  j                  dt               | j                  j                  dt               | j                  j                  d	t               y
y
y
)a]  A mistune plugin to support table, spec defined at
    https://michelf.ca/projects/php-markdown/extra/#table

    Here is an example:

    .. code-block:: text

        First Header  | Second Header
        ------------- | -------------
        Content Cell  | Content Cell
        Content Cell  | Content Cell

    :param md: Markdown instance
    r   	paragraphbeforenptabler|   rC   r   rP   r>   N)r   registerTABLE_PATTERNr4   NP_TABLE_PATTERNr8   rk   NAMErn   rq   rs   ru   r}   mds    r3   r   r      s     HHg}k+NHHi!1=U	{{r{{''61
Wl3
\+<=
\+<=
[*:;
\+<= 2{r5   c                     | j                   j                  | j                   j                  dd       | j                   j                  | j                   j                  dd       y)z$Enable table plugin in block quotes.r   r   r   r   N)r   insert_ruleblock_quote_rulesr   s    r3   r   r      sH    HH33W[QHH33Y{Sr5   c                     | j                   j                  | j                   j                  dd       | j                   j                  | j                   j                  dd       y)zEnable table plugin in list.r   r   r   r   N)r   r   
list_rulesr   s    r3   r   r      sH    HH,,gkJHH,,iLr5   )NF)r   r   r   N),retypingr   r   r   r   r   r   r	   r
   block_parserr   corer   r   markdownr   __all__r   r   compilerE   rG   rH   strintr4   r8   r!   r%   r   r"   r7   rD   boolre   rn   rq   rs   ru   r}   r   r   r   ri   r5   r3   <module>r      sZ   		 	 	 */# 7 35 rzz-(RZZ%
bjj& }  s  L  XVY]  F   5:  l  xX[}  F3 s uU:5FdSVX[S[n^bcklocp^qNqHr5r/s 2	7s 	7D#$7 	7HT#s(^<T 	7  \   C HSM 
S 
T#Y 
 3  S  T  -> - - -: :c :c :- -c -c -'~ 'S 'S '
2 
2c 
2(3- 
2^b 
2or 
2>4TMr5   