
    Xh                     j    d dl mZ d dlmZ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  G d d	e	      Zy
)    indent)AnyDictIterableListcast   )BaseRenderer
BlockState)	strip_end   render_listc                      e Zd ZdZdZddddddd	Zd
Zdeee	e
f      dedee	   f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!y%)&RSTRendererz+A renderer for converting Markdown to ReST.rst=-~^"')r   r
               zimg-tokensstatereturnc              #   f   K   d }|D ]&  }|d   dk(  r||d<   |}| j                  ||       ( y w)Ntype
blank_lineprev)render_token)selfr   r   r$   toks        I/var/www/html/myenv/lib/python3.12/site-packages/mistune/renderers/rst.pyiter_tokenszRSTRenderer.iter_tokens   sJ      	0C6{l*CKD##C//	0s   /1c                     g |j                   d<   | j                  ||      }|dj                  | j                  |            dz   z  }t	        |      S )Ninline_images


)envrender_tokensjoinrender_referrencesr   )r&   r   r   outs       r(   __call__zRSTRenderer.__call__#   sO    %'		/"  /v{{42259:TAA~    c              #      K   |j                   d   }t        |      D ]J  \  }}|d   }| j                  ||      }| j                  t	        |      z   }d|z   dz   |d   z   dz   |z    L y w)Nr+   attrsz.. |z
| image:: url

   :alt: )r.   	enumeraterender_childrenINLINE_IMAGE_PREFIXstr)r&   r   imagesindextokenr6   altidents           r(   r1   zRSTRenderer.render_referrences*   s     ?+%f- 	ULE5'NE&&ue4C,,s5z9E5.</%,>NQTTT		Us   A)A+r?   c                 0    |d   }| j                  ||      S )Nchildren)r/   )r&   r?   r   rC   s       r(   r:   zRSTRenderer.render_children2   s    $!!(E22r4   c                 L    t        t        |d         }|j                  dd      S )Nraw|z\|)r	   r<   replace)r&   r?   r   texts       r(   rH   zRSTRenderer.text6   s#    Cu&||C''r4   c                 2    d| j                  ||      z   dz   S )N*r:   r&   r?   r   s      r(   emphasiszRSTRenderer.emphasis:   s    T))%77#==r4   c                 2    d| j                  ||      z   dz   S )Nz**rK   rL   s      r(   strongzRSTRenderer.strong=   s    d**5%884??r4   c                 n    |d   }| j                  ||      }d|z   dz   t        t        |d         z   dz   S )Nr6   `z <r7   z>`__)r:   r	   r<   )r&   r?   r   r6   rH   s        r(   linkzRSTRenderer.link@   sA    g##E51TzD 4U5\#::VCCr4   c                     |j                   d   }t        |      }|j                  |       d| j                  z   t	        |      z   dz   S )Nr+   rF   )r.   lenappendr;   r<   )r&   r?   r   refsr>   s        r(   imagezRSTRenderer.imageE   sD    %*YY%?D	ET---E
:S@@r4   c                 4    dt        t        |d         z   dz   S )Nz``rE   )r	   r<   rL   s      r(   codespanzRSTRenderer.codespanK   s    d3e--44r4   c                      y)N<linebreak> rL   s      r(   	linebreakzRSTRenderer.linebreakN   s    r4   c                      y)N r\   rL   s      r(   	softbreakzRSTRenderer.softbreakQ   s    r4   c                      yN r\   rL   s      r(   inline_htmlzRSTRenderer.inline_htmlT   s    r4   c                    |d   }t        |      dk(  r}|d   d   dk(  rr|d   }|d   }t        t        |j                  d            }| j	                  ||      }dt        t        |d	         z   }|r|d
|z   z  }|dt        |d      z   z  }|dz   S | j                  ||      }|j                  d      }	t        |	      dkD  rdj                  d |	D              }|dz   S )NrC   r   r   r"   rW   r6   titlez.. figure:: r7   r8   r,      r[   r-   c              3   &   K   | ]	  }d |z     yw)z| Nr\   ).0lines     r(   	<genexpr>z(RSTRenderer.paragraph.<locals>.<genexpr>g   s      ? ?s   )	rT   r	   r<   getr:   r   r/   splitr0   )
r&   r?   r   rC   rW   r6   rf   r@   rH   liness
             r(   	paragraphzRSTRenderer.paragraphX   s    $x=A(1+f"5"@QKE'NEeii01E&&ue4C!DeEl$;;D--FVC///D f}	 %%h6DJJ}-E5zA~yy ? ??f}r4   c                     |d   }| j                  ||      }| j                  |d      }|dz   |t        |      z  z   dz   S )Nr6   levelr-   r,   )r:   HEADING_MARKERSrT   )r&   r?   r   r6   rH   markers         r(   headingzRSTRenderer.headingj   sN    g##E51%%eGn5d{Vc$i//&88r4   c                      y)Nz--------------

r\   rL   s      r(   thematic_breakzRSTRenderer.thematic_breakp   s    #r4   c                 ,    | j                  ||      dz   S )Nr-   rK   rL   s      r(   
block_textzRSTRenderer.block_texts   s    ##E51D88r4   c                     |j                  di       }t        t        |j                  d            }t        t        t        |d         d      }|r!|j	                         d   }d|z   dz   |z   dz   S d	|z   dz   S )
Nr6   inforE   rg   r   z
.. code:: r,   r-   z::

)rl   r	   r<   r   rm   )r&   r?   r   r6   rz   codelangs          r(   
block_codezRSTRenderer.block_codev   sy    		'2&C6*+d3e-u5::<?D$&/$6==d?V++r4   c                 h    t        | j                  ||      d      }|d   }d}|r|d   |vrd|z   }|S )Nrg   r$   )ro   rv   r]   rt   r"   z..

)r   r:   )r&   r?   r   rH   r$   ignore_blockss         r(   block_quotezRSTRenderer.block_quote   sI    d**5%8%@V}
 DL5d?Dr4   c                 0    |d   }dt        |d      z   dz   S )NrE   z.. raw:: html

rg   r,   r   )r&   r?   r   rE   s       r(   
block_htmlzRSTRenderer.block_html   s"    El"VC%77&@@r4   c                      yrb   r\   rL   s      r(   block_errorzRSTRenderer.block_error   s    r4   c                     t        | ||      S )Nr   rL   s      r(   listzRSTRenderer.list   s    4..r4   N)"__name__
__module____qualname____doc__NAMErr   r;   r   r   r<   r   r   r)   r3   r1   r:   rH   rM   rO   rR   rW   rY   r]   r`   rd   ro   rt   rv   rx   r}   r   r   r   r   r\   r4   r(   r   r   	   s2   5D O !0(4S>": 0: 0RZ[^R_ 0xS#X7 
 s U
 Ux} U3T#s(^ 3J 33 3($sCx. ( ( (>d38n >Z >C >@DcN @: @# @D$sCx. D D D
A4S> A* A A5d38n 5Z 5C 5tCH~ j S tCH~ j S c3h 
 s tCH~ j S $9T#s(^ 9J 93 9$DcN $: $# $9S#X 9z 9c 9,S#X ,z ,c ,c3h 
 s AS#X Az Ac Ac3h 
 s /$sCx. / / /r4   r   N)textwrapr   typingr   r   r   r   r	   corer   r   utilr   _listr   r   r\   r4   r(   <module>r      s%     2 2 +  L/, L/r4   