Ë
    �š¾j…  ã                   ó<   — d dl mZmZmZmZ ddlmZ  G d„ d«      Zy)é    )ÚIterableÚListÚOptionalÚSequenceé   )ÚLiteralc            
       ó  — e Zd ZdZddefd„Zedefd„«       Zdefd„Z		 dd	e
e
e      d
ee   deeed         defd„Zddededee   defd„Zdde
e   dedefd„Zdededefd„Zddededefd„Zdedefd„Zdedefd„Zdefd„Zd„ Zy) ÚMarkdownRendererz*Simple helper for generating raw Markdown.Úno_emojic                 ó    — g | _         || _        y)z[Initialize the renderer.

        no_emoji (bool): Don't show emoji in titles etc.
        N)Údatar   )Úselfr   s     úY/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/wasabi/markdown.pyÚ__init__zMarkdownRenderer.__init__	   s   € ð
 ˆŒ	Ø ˆ�ó    Úreturnc                 ó8   — dj                  | j                  «      S )z%RETURNS (str): The Markdown document.z

)Újoinr   )r   s    r   ÚtextzMarkdownRenderer.text   s   € ð �{‰{˜4Ÿ9™9Ó%Ð%r   Úcontentc                 ó:   — | j                   j                  |«       y)zdAdd a string to the Markdown document.

        content (str): Add content to the document.
        N)r   Úappend)r   r   s     r   ÚaddzMarkdownRenderer.add   s   € ð
 	�	‰	×Ñ˜Õ!r   Nr   ÚheaderÚaligns)ÚrÚcÚlc           
      ó¶  ‡‡— ‰€dgt        |«      z  Št        ‰«      t        |«      k7  r&dj                  ‰t        |«      «      }t        |«      ‚d„ Šdj                  dj                  |«      «      }dj                  dj                  ˆˆfd„t	        t        |«      «      D «       «      «      }dj                  d„ |D «       «      }d	j                  |||«      S )
a¼  Create a Markdown table.

        data (Iterable[Iterable[str]]): The body, one iterable per row,
            containig an interable of column contents.
        header (Sequence[str]): The column names.
        aligns (Optional[Sequence[Literal["r", "c", "l"]]]): Optional alignment-mode for each column. Values should
            either be 'l' (left), 'r' (right), or 'c' (center). Optional.
        RETURNS (str): The rendered table.
        r   z&Invalid aligns: {} (header length: {})c                 ó"   — | dk(  rdS | dk(  rdS dS )Nr   z:---:r   z---:z---© )Úas    r   ú<lambda>z(MarkdownRenderer.table.<locals>.<lambda>1   s   € ¨1°ª8 € À1ÈÂ8¸€ ÐQV€ r   ú| {} |ú | c              3   ó4   •K  — | ]  } ‰‰|   «      –— Œ y ­w©Nr!   )Ú.0Úir   Úget_dividers     €€r   ú	<genexpr>z)MarkdownRenderer.table.<locals>.<genexpr>4   s   øè ø€ ÒJ°!‘{ 6¨!¡9×-ÑJùs   ƒú
c              3   ó\   K  — | ]$  }d j                  dj                  |«      «      –— Œ& y­w)r$   r%   N)Úformatr   )r(   Úrows     r   r+   z)MarkdownRenderer.table.<locals>.<genexpr>6   s!   è ø€ ÒJ¸c˜Ÿ™¨¯©°C«×9ÑJùs   ‚*,z{}
{}
{})Úlenr.   Ú
ValueErrorr   Úrange)	r   r   r   r   ÚerrÚheadÚdividerÚbodyr*   s	      `    @r   ÚtablezMarkdownRenderer.table   sº   ù€ ð ˆ>Ø�UœS ›[Ñ(ˆFÜˆv‹;œ#˜f›+Ò%Ø:×AÑAÀ&Ì#ÈfË+ÓVˆCÜ˜S“/Ð!ÙVˆØ�‰˜uŸz™z¨&Ó1Ó2ˆØ—/‘/Ø�J‰JÔJ´u¼SÀ»[Ó7IÔJÓJó
ˆð �y‰yÑJÀTÔJÓJˆØ×"Ñ" 4¨°$Ó7Ð7r   Úlevelr   Úemojic                 óp   — |r| j                   sdj                  |«      nd}dj                  d|z  ||«      S )a  Create a Markdown heading.

        level (int): The heading level, e.g. 3 for ###
        text (str): The heading text.
        emoji (Optional[str]): Optional emoji to show before heading text, if enabled.
        RETURNS (str): The rendered title.
        z{} Ú z{} {}{}ú#)r   r.   )r   r8   r   r9   Úprefixs        r   ÚtitlezMarkdownRenderer.title9   s5   € ñ ).°d·m²m�—‘˜eÔ$ÈˆØ×Ñ  e¡¨V°TÓ:Ð:r   ÚitemsÚnumberedc                 óÜ   — g }t        |«      D ]L  \  }}|r%|j                  dj                  |dz   |«      «       Œ-|j                  dj                  |«      «       ŒN dj                  |«      S )zµCreate a non-nested list.

        items (Iterable[str]): The list items.
        numbered (bool): Whether to use a numbered list.
        RETURNS (str): The rendered list.
        z{}. {}r   z- {}r,   )Ú	enumerater   r.   r   )r   r?   r@   r   r)   Úitems         r   ÚlistzMarkdownRenderer.listD   se   € ð ˆÜ  Ó'ò 	4‰GˆAˆtÙØ—‘˜xŸ™¨q°1©u°dÓ;Õ<à—‘˜vŸ}™}¨TÓ2Õ3ð		4ð
 �y‰y˜Ó!Ð!r   Úurlc                 ó&   — dj                  ||«      S )z�Create a Markdown link.

        text (str): The link text.
        url (str): The link URL.
        RETURNS (str): The rendered link.
        z[{}]({})©r.   )r   r   rE   s      r   ÚlinkzMarkdownRenderer.linkS   s   € ð × Ñ   sÓ+Ð+r   Úlangc                 ó&   — dj                  ||«      S )z¦Create a Markdown code block.

        text (str): The code text.
        lang (str): Optional code language.
        RETURNS (str): The rendered code block.
        z```{}
{}
```rG   )r   r   rI   s      r   Ú
code_blockzMarkdownRenderer.code_block\   s   € ð  ×&Ñ& t¨TÓ2Ð2r   c                 ó&   — | j                  |d«      S )zCreate Markdown inline code.

        text (str): The inline code text.
        RETURNS (str): The rendered code text.
        ú`©Ú_wrap©r   r   s     r   ÚcodezMarkdownRenderer.codee   ó   € ð �z‰z˜$ Ó$Ð$r   c                 ó&   — | j                  |d«      S )zzCreate bold text.

        text (str): The text to format in boldface.
        RETURNS (str): The formatted text.
        z**rN   rP   s     r   ÚboldzMarkdownRenderer.boldm   s   € ð �z‰z˜$ Ó%Ð%r   c                 ó&   — | j                  |d«      S )zsCreate italic text.

        text (str): The text to italicize.
        RETURNS (str): The formatted text.
        Ú_rN   rP   s     r   ÚitaliczMarkdownRenderer.italicu   rR   r   c                 ó(   — dj                  |||«      S )Nz{}{}{}rG   )r   r   Úmarkers      r   rO   zMarkdownRenderer._wrap}   s   € Ø�‰˜v t¨VÓ4Ð4r   )Fr'   )r;   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úboolr   ÚpropertyÚstrr   r   r   r   r   r   r7   Úintr>   rD   rH   rK   rQ   rT   rW   rO   r!   r   r   r
   r
      s3  „ Ù4ñ! ó !ð ð&�cò &ó ð&ð"˜3ó "ð >Bñ	8à�x ‘}Ñ%ð8ð ˜‘ð8ð ˜ '¨-Ñ"8Ñ9Ñ:ð	8ð
 
ó8ñ8	;˜3ð 	; cð 	;°(¸3±-ð 	;È3ó 	;ñ"˜( 3™-ð "°4ð "ÀCó "ð,˜ð , 3ð ,¨3ó ,ñ3˜sð 3¨#ð 3°só 3ð%˜ð % ó %ð&˜ð & ó &ð%˜3ó %ó5r   r
   N)Útypingr   r   r   r   Úcompatr   r
   r!   r   r   ú<module>rd      s   ðß 5Ó 5å ÷x5ò x5r   