
    kKjv                     X   d dl mZmZmZmZmZ d dlmZ d dlZd dl	Z	 ej                  d      Z ej                  dej                        Z ej                  d      Z ej                  d      Z ej                  d	      Z ej                  d
      Z ej                  d      Z ej                  d      Z ej                  d      Z ej                  d      Z ej                  d      Z ej                  dej.                        Z ej                  d      Z ej                  d      Z ej                  d      Z ej                  d      Z ej                  d      ZdZdZdZ e Z!dZ"dZ#dZ$dZ%dZ&dZ'dZ(d Z)d! Z*d" Z+d# Z,d$ Z-d% Z.d& Z/d' Z0d( Z1d) Z2d* Z3 G d+ d,e4      Z5d- Z6y).    )BeautifulSoupCommentDoctypeNavigableStringTag)fillNzconvert_h(\d+)z^(.*))flagsz[\t ]+z
[\t \r\n]+z[\t \r\n]*[\r\n][\t \r\n]*zh(\d+)z^ *\nz\n *$z	^[ \n]*\nz[ \n]*$z[\[\]:-]z^(\n*)((?:.*[^\n])?)(\n*)$z([]\\&<`[>~=+|])z(\s|^)(-+(?:\s|$))z(\s|^)(#{1,6}(?:\s|$))z"((?:\s|^)[0-9]{1,9})([.)](?:\s|$))z`+atx
atx_closed
underlinedspaces	backslash*_lstriprstripstrip	strip_onec                 ^    t         j                  d|       } t        j                  d|       } | S )z;Strip one leading and trailing newline from a <pre> string. )re_pre_lstrip1subre_pre_rstrip1texts    e/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/markdownify/__init__.py
strip1_prer   D   s+    b$'Db$'DK    c                 ^    t         j                  d|       } t        j                  d|       } | S )z<Strip all leading and trailing newlines from a <pre> string.r   )re_pre_lstripr   re_pre_rstripr   s    r   	strip_prer"   K   s+    R&DR&DKr   c                 d    | r
| d   dk(  rdnd}| r
| d   dk(  rdnd}| j                         } ||| fS )z
    If the text in an inline tag like b, a, or em contains a leading or trailing
    space, strip the string and return a space as suffix of prefix, if needed.
    This function is used to prevent conversions like
        <b> foo</b> => ** foo**
    r    r   r   )r   prefixsuffixs      r   chompr)   R   sB     T!W^SFT"X_S"F::<DFD!!r   c                       fd}|S )aY  
    This abstracts all simple inline tags like b, em, del, ...
    Returns a function that wraps the chomped text in a pair of the string
    that is returned by markup_fn, with '/' inserted in the string used after
    the text if it looks like an HTML tag. markup_fn is necessary to allow for
    references to self.strong_em_symbol etc.
    c                      |       }|j                  d      r|j                  d      r	d|dd  z   }n|}d|v r|S t        |      \  }}}|sy|||||S )N<>z</   	_noformatr   )
startswithendswithr)   )	selfelr   parent_tagsmarkup_prefixmarkup_suffixr'   r(   	markup_fns	           r   implementationz2abstract_inline_conversion.<locals>.implementationg   sq    !$##C(]-C-CC-H =#44M)M+%K$T{%}dM6RRr    )r7   r8   s   ` r   abstract_inline_conversionr:   _   s    S r   c                 >     t         fdt               D              S )Nc              3   ^   K   | ]$  }|j                  d       r|t        |      f & yw)r   N)r0   getattr).0kobjs     r   	<genexpr>z_todict.<locals>.<genexpr>w   s(     Phall3>OGCO$hs   --)dictdir)r@   s   `r   _todictrD   v   s    Pc#hPPPr   c                 |    | r| j                   syt        j                  | j                         y| j                   dv S )zEReturn to remove whitespace immediately inside a block-level element.FT)p
blockquotearticledivsectionolullidldtddtabletheadtbodytfoottrtdth)namere_html_headingmatchr3   s    r   should_remove_whitespace_insider\   z   s<    RWWRWW%177 ) ) )r   c                 B    t        |       xs | xr | j                  dk(  S )zFReturn to remove whitespace immediately outside a block-level element.pre)r\   rX   r[   s    r    should_remove_whitespace_outsider_      s     *2.K23J"''U:JKr   c                     t        | t              ryt        | t        t        f      ryt        | t              r| j                         dk7  S y)z
    In a block context, returns:

    - True for content elements (tags and non-whitespace text)
    - False for non-content elements (whitespace text, comments, doctypes)
    TFr   )
isinstancer   r   r   r   r   r[   s    r   _is_block_content_elementrb      sA     "c	B'*	+	B	(xxzRr   c                 @    | | j                   } t        |       r| S | y)zHReturns the first previous sibling that is a content element, else None.N)previous_siblingrb   r[   s    r   _prev_block_content_siblingre      s+    
.  $R(I . r   c                 @    | | j                   } t        |       r| S | y)zDReturns the first next sibling that is a content element, else None.N)next_siblingrb   r[   s    r   _next_block_content_siblingrh      s)    
.__$R(I . r   c                      e Zd Z G d d      Z G d de      Zd Zd Zd Zd/d	Zd/d
Z	d Z
d/dZd Zd Zd Zd Zd Zd Z ed       Zd Zd Zd Z ed       Zd ZeZeZ ed       ZeZd ZeZd Zd Z d Z!eZ"d Z#d Z$d  Z%e%Z&e%Z'd! Z(d" Z)d# Z*d$ Z+d% Z,d& Z-eZ.eZ/eZ0 ed'       Z1 ed(       Z2d) Z3d* Z4d+ Z5d, Z6d- Z7d. Z8y)0MarkdownConverterc                   d    e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZeZg ZeZdZeZeZeZdZdZdZdZdZy) MarkdownConverter.DefaultOptionsTzhtml.parserz*+-r   NFP   )__name__
__module____qualname__	autolinksbs4_optionsbulletscode_languagecode_language_callbackconvertdefault_titleescape_asterisksescape_underscoresescape_misc
UNDERLINEDheading_stylekeep_inline_images_inSPACESnewline_styler   STRIPstrip_documentr"   ASTERISKstrong_em_symbol
sub_symbol
sup_symboltable_infer_headerwrap
wrap_widthr9   r   r   DefaultOptionsrl      sv    	#!%!" "	#

"
r   r   c                       e Zd Zy)MarkdownConverter.OptionsN)rn   ro   rp   r9   r   r   Optionsr      s    r   r   c                    t        | j                        | _        | j                  j                  t        | j                               | j                  j                  |       | j                  d   | j                  d   t        d      t        | j                  d   t              sd| j                  d   i| j                  d<   i | _        y )Nr   rv   zFYou may specify either tags to strip or tags to convert, but not both.rr   features)	rD   r   optionsupdater   
ValueErrorra   rB   convert_fn_cache)r2   r   s     r   __init__zMarkdownConverter.__init__   s     t223GDLL12G$<< ,i1H1T 7 8 8 $,,}5t<+5t||M7R*SDLL' !#r   c                 V    t        |fi | j                  d   }| j                  |      S )Nrr   )r   r   convert_soup)r2   htmlsoups      r   rv   zMarkdownConverter.convert   s+    TAT\\-%@A  &&r   c                 8    | j                  |t                     S Nr4   )process_tagset)r2   r   s     r   r   zMarkdownConverter.convert_soup   s    #%88r   Nc                 n    t        |t              r| j                  ||      S | j                  ||      S r   )ra   r   process_textr   )r2   noder4   s      r   process_elementz!MarkdownConverter.process_element   s8    dO,$$T{$CC##Dk#BBr   c           
         |
t               }t        |      fd}|j                  D cg c]  } ||      r| }}t        |      }|j                  |j                         t
        j                  |j                        |j                  dv r|j                  d       |j                  dv r|j                  d       |D cg c]  }| j                  ||       }}|D cg c]  }|s|	 }}|j                  dk(  s|j                  d      rndg}	|D ]  }
t        j                  |
      j                         \  }}}|	d	   r?|r=|	j                         }t        d
t        t        |      t        |                  }d|z  }|	j                  |||g        |	}dj!                  |      }| j#                  |j                        }| ||||      }|S c c}w c c}w c c}w )Nc                    t        | t              ryt        | t        t        f      ryt        | t              rnt        j                  |       j                         dk7  ryr| j                  r| j                  syt        | j                        st        | j                        ryy| yt        dt        |       z        )NFTr   zUnexpected element type: %s)ra   r   r   r   r   six	text_typer   rd   rg   r_   r   type)r3   should_remove_insides    r   _can_ignorez2MarkdownConverter.process_tag.<locals>._can_ignore   s    "c"B' 23 B0==$**,2 )23F3Fboo5b6I6IJNnoqo~o~N  !>b!IJJr   >   rV   rW   _inline>   kbdr^   codesampr/   r   r^   r   r%      
)r   r\   childrenaddrX   rY   rZ   r   find_parentre_extract_newlinesgroupspopminmaxlenextendjoinget_conv_fn_cached)r2   r   r4   r   r3   children_to_convertparent_tags_for_childrenchild_stringssupdated_child_stringschild_string
leading_nlcontenttrailing_nlprev_trailing_nlnum_newlinesr   
convert_fnr   s                     @r   r   zMarkdownConverter.process_tag   s   %K  ?tD	K2 -1MMQMbRrMQ $'{#3  $$TYY/ !!$)),8yyL($((3 9966$((5
 *
)   1I J) 	 
 %27MqQM7 99!1!1%!8 &(D! -3F3L3L\3Z3a3a3c0
G[ ),'<'@'@'B$#&q#c2B.CS_*U#VL!%!4J &,,j';-OP !. 2M ww}% ,,TYY7
!dDkBDu R&
 8s   GGG!'G&/G&c                 R   | j                   d   t        k(  r|j                  d      }|S | j                   d   t        k(  r|j	                  d      }|S | j                   d   t
        k(  r|j                  d      }|S | j                   d   	 |S t        d| j                   d   z        )zTFinal document-level formatting for BeautifulSoup object (node.name == "[document]")r   r   z$Invalid value for strip_document: %s)r   LSTRIPr   RSTRIPr   r   r   r   r2   r3   r   r4   s       r   convert__document_z$MarkdownConverter.convert__document_H  s    <<()V3;;t$D  \\*+v5;;t$D  \\*+u4::d#D  \\*+3  CdllScFddeer   c                 B   |
t               }t        j                  |      xs d}d|vrR| j                  d   rt        j                  d|      }n,t        j                  d|      }t        j                  d|      }d|vr| j                  ||      }t        |j                        s!t        |j                        r|j                  s|j                  d      }t        |j                        s!t        |j                        r|j                  s|j                         }|S )Nr   r^   r   r$   r   r/    	
)r   r   r   r   re_all_whitespacer   re_newline_whitespacere_whitespaceescaper_   rd   r\   parentr   rg   r   )r2   r3   r4   r   s       r   r   zMarkdownConverter.process_textW  s    %K}}R &B #||F#(,,S$7,00t<$((d3 k);;t[1D
 -R-@-@A3BII>//;;y)D,R__=3BII>OO;;=Dr   c                 x    || j                   vr| j                  |      | j                   |<   | j                   |   S )zAGiven a tag name, return the conversion function using the cache.)r   get_conv_fn)r2   tag_names     r   r   z$MarkdownConverter.get_conv_fn_cachedx  s@     4000.2.>.>x.HD!!(+ $$X..r   c                     |j                         } j                  |      sydt        j                  d|      z  }t	         |d      }|r|S t
        j                  |      }|r t        |j                  d             fdS y)z:Given a tag name, find and return the conversion function.Nz
convert_%sr   r.   c                 ,    j                  | ||      S N)
convert_hN)r3   r   r4   nr2   s      r   <lambda>z/MarkdownConverter.get_conv_fn.<locals>.<lambda>  s    Bk1Zr   )	lowershould_convert_tagre_make_convert_fn_namer   r=   rY   rZ   intgroup)r2   r   convert_fn_namer   rZ   r   s   `    @r   r   zMarkdownConverter.get_conv_fn  s    >># &&x0 ')@)D)DS()SST?D9
  %%h/EKKN#AZZ r   c                 X    | j                   d   }| j                   d   }|||vS |||v S y)zKGiven a tag name, return whether to convert based on strip/convert options.r   rv   Tr   )r2   tagr   rv   s       r   r   z$MarkdownConverter.should_convert_tag  sB    W%,,y)e## '>!r   c                 ^   |sy| j                   d   rXt        j                  d|      }t        j                  d|      }t        j                  d|      }t
        j                  d|      }| j                   d   r|j                  dd      }| j                   d   r|j                  d	d
      }|S )Nr   rz   z\\\1z\1\\\2rx   r   z\*ry   r   \_)r   re_escape_misc_charsr   re_escape_misc_dash_sequencesre_escape_misc_hashesre_escape_misc_list_itemsreplace)r2   r   r4   s      r   r   zMarkdownConverter.escape  s    <<&'++GT:D044YED(,,Y=D,00DAD<<*+<<U+D<<,-<<U+Dr   c                 \    |xs dj                         }|rd|d|t        |      z  dS dS )Nr   

r   )r   r   )r2   r   pad_chars      r   	underlinezMarkdownConverter.underline  s/    
""$BF4CI)=>NBNr   c                 h   d|v r|S t        |      \  }}}|sy|j                  d      }|j                  d      }| j                  d   r+|j                  dd      |k(  r|s| j                  d   sd	|z  S | j                  d   r|s|}|rd
|j                  dd      z  nd}|r|d|d||d|S |S )Nr/   r   hreftitlerq   r   r   rw   z<%s> "%s""\"[]())r)   getr   r   )	r2   r3   r   r4   r'   r(   r   r   
title_parts	            r   	convert_azMarkdownConverter.convert_a  s    +%K$T{vvf~wLL%LL,4_5D= <<(E<AWu}}S%88r
NR64z6J\X\\r   c                 &    d| j                   d   z  S )Nr   r   r   r2   s    r   r   zMarkdownConverter.<lambda>  s    DLLI[<\8\r   c                     |xs dj                  d      }d|v rd|z   dz   S |syd }t        j                  ||      }d|z   dz   S )Nr   r   r   r$   r   c                 6    | j                  d      }|rd|z   S dS )Nr.   z> r-   r   rZ   line_contents     r   _indent_for_blockquotezDMarkdownConverter.convert_blockquote.<locals>._indent_for_blockquote  s!     ;;q>L*64,&?C?r   r   r   re_line_with_contentr   )r2   r3   r   r4   r  s        r   convert_blockquotez$MarkdownConverter.convert_blockquote  s]    
!!),#:##	@ $''(>Ed{V##r   c                 x    d|v r	|r|dz   S dS | j                   d   j                         t        k(  rd|z   S d|z   S )Nr   r$   r   z\
z  
)r   r   	BACKSLASHr   s       r   
convert_brzMarkdownConverter.convert_br  sI    #!%4#:.3.<<(..0I=D= D= r   c                     d|v r|S t        |      \  }}}|syt        d t        j                  t        |      D        d      }d|dz   z  }|dkD  rd|z   dz   }|||||S )	Nr/   r   c              3   2   K   | ]  }t        |        y wr   )r   )r>   rZ   s     r   rA   z1MarkdownConverter.convert_code.<locals>.<genexpr>  s     X5WESZ5Ws   r   )default`r.   r$   )r)   r   refindallre_backtick_runs)r2   r3   r   r4   r'   r(   max_backticksmarkup_delimiters           r   convert_codezMarkdownConverter.convert_code  s    +%K$T{ XRZZ@PRV5WXbcd-!"34 1:#D%'7?OQWXXr   c                      y)Nz~~r9   r   s    r   r   zMarkdownConverter.<lambda>  s    $r   c                 h    d|v rd|j                         z   dz   S |j                         }|rd|z  S dS )Nr   r$   

%s

r   r&   r   s       r   convert_divzMarkdownConverter.convert_div  s=    #%++zz|&*|d"22r   c                      | j                   d   S )Nr   r   r   s    r   r   zMarkdownConverter.<lambda>  s    FX9Yr   c                     |xs dj                         }d|v rd|z   dz   S |syd }t        j                  ||      }d|dd  z   }d|z  S )	Nr   r   r$   r   c                 6    | j                  d      }|rd|z   S dS )Nr.   z    r   r   r   s     r   _indent_for_ddz4MarkdownConverter.convert_dd.<locals>._indent_for_dd  s!     ;;q>L,86L(@b@r   :r.   %s
r  )r2   r3   r   r4   r  s        r   
convert_ddzMarkdownConverter.convert_dd	  sf    
!!##:##	A $''= T!"X~}r   c                 ~    |xs dj                         }t        j                  d|      }d|v rd|z   dz   S |syd|z  S )Nr   r$   r   r   z

%s
)r   r   r   r   s       r   
convert_dtzMarkdownConverter.convert_dt   sP    
!!# $$S$/#:##
 D  r   c                 X   d|v r|S t        dt        d|            }| j                  d   j                         }|j	                         }|t
        k(  r |dk  r|dk(  rdnd}| j                  ||      S t        j                  d|      }d	|z  }|t        k(  rd
|d|d|d
S d
|d|d
S )Nr   r.      r|   r   =-r$   #r   )
r   r   r   r   r   r{   r   r   r   
ATX_CLOSED)r2   r   r3   r   r4   stylelinehashess           r   r   zMarkdownConverter.convert_hN.  s    #K 3q!9_-335zz|J16q&3cD>>$-- $$S$/qJ)/v>> "($//r   c                      y)Nz

---

r9   r   s       r   
convert_hrzMarkdownConverter.convert_hrA  s    r   c                 `   |j                   j                  dd       xs d}|j                   j                  dd       xs d}|j                   j                  dd       xs d}|rd|j                  dd      z  nd}d|v r'|j                  j                  | j
                  d	   vr|S d
|d||dS )Naltr   srcr   r   r   r   r   r}   ![r   r   )attrsr   r   r   rX   r   )r2   r3   r   r4   r,  r-  r   r   s           r   convert_imgzMarkdownConverter.convert_imgF  s    hhll5$'-2hhll5$'-2Wd+1r<AWu}}S%88r
$IINN$,,7N*OOJ #S*55r   c                    d|v r'|j                   j                  | j                  d   vr|S |j                  j	                  dd       xs d}|s:|j                  dddi      }|r#|d   j                  j	                  dd       xs d}|j                  j	                  d	d       xs d}|r|rd
|d|d|dS |r	d|d|dS |r	d|d|dS |S )Nr   r}   r-  r   sourceT)r/  r   posterz[![r   z)](r   r   r.  )r   rX   r   r/  r   find_all)r2   r3   r   r4   r-  sourcesr3  s          r   convert_videozMarkdownConverter.convert_videoQ  s    $IINN$,,7N*OOKhhll5$'-2kk(5$-k@Gaj&&**5$7=2h-36(,fc::!%s++"&//r   c                     d}t        |      }|r|j                  dvrd}d|v rd|j                         z   S d|z   |rdz   S dz   S )NF)rL   rK   TrM   r   r   r   )rh   rX   r   )r2   r3   r   r4   before_paragraphrg   s         r   convert_listzMarkdownConverter.convert_listc  s]    
 !226L--\A#;$++-''}(8AAbAAr   c                 b   |xs dj                         }|sy|j                  }||j                  dk(  rw|j                  d      rCt	        |j                  d            j                         rt        |j                  d            }nd}d|t        |j                  d            z   z  }nGd}|r#|j                  d	k(  r|dz  }|j                  }|r#| j                  d
   }||t        |      z     }|dz   }t        |      }	d|	z  fd}
t        j                  |
|      }|||	d  z   }d|z  S )Nr   r   rK   startr.   z%s.rM   r%   rL   rs   r$   c                 8    | j                  d      }|r|z   S dS )Nr.   r   r   )rZ   r  bullet_indents     r   _indent_for_liz4MarkdownConverter.convert_li.<locals>._indent_for_li  s"     ;;q>L3?=</GRGr   r  )r   r   rX   r   str	isnumericr   r   find_previous_siblingsr   r  r   )r2   r3   r   r4   r   r;  bulletdepthrs   bullet_widthr>  r=  s              @r   
convert_lizMarkdownConverter.convert_lit  s3   
!!# &++"5zz'"s6::g+>'?'I'I'KFJJw/0ec"*C*CD*I&JJKFE77d?QJEYY  ll9-GUS\12F#6{l*	H $''= \]++}r   c                    d|v rd|j                  d      z   dz   S |j                  d      }| j                  d   r| j                  d   |j                  d      }g }|D ]a  }|j                  d      }|j	                         }|t        |      d  }t        || j                  d   dd      }|j                  ||z          c dj                  |      }|rd	|z  S d
S )Nr   r$   r   r   r   r   F)widthbreak_long_wordsbreak_on_hyphensr  r   )	r   r   splitr   r   r   r   appendr   )	r2   r3   r   r4   lines	new_linesr'  line_no_trailingtrailings	            r   	convert_pzMarkdownConverter.convert_p  s    #I..44zz)$<< ||L)5

4(	!D;;y1D'+{{}$#C(8$9$:;H&*ll<&@16168D $$TH_5 " yy+&*|d"22r   c                 f   |sy| j                   d   }| j                   d   r | j                   d   |      xs |}| j                   d   t        k(  rt        |      }nM| j                   d   t        k(  rt	        |      }n+| j                   d   nt        d| j                   d   z        d|d|dS )	Nr   rt   ru   r"   zInvalid value for strip_pre: %sz

```r   z
```

)r   r   r"   	STRIP_ONEr   r   )r2   r3   r   r4   rt   s        r   convert_prezMarkdownConverter.convert_pre  s    _5<<01BDLL)AB2FW-M<<$-T?D\\+&)3d#D\\+&.>kAZZ[[+8$??r   c                     d|z   dz   S )Nr   r9   r   s       r   	convert_qzMarkdownConverter.convert_q  s    TzCr   c                      yNr   r9   r   s       r   convert_scriptz MarkdownConverter.convert_script      r   c                      yrW  r9   r   s       r   convert_stylezMarkdownConverter.convert_style  rY  r   c                      | j                   d   S )Nr   r   r   s    r   r   zMarkdownConverter.<lambda>      $,,|:Tr   c                      | j                   d   S )Nr   r   r   s    r   r   zMarkdownConverter.<lambda>  r]  r   c                 .    d|j                         z   dz   S Nr   r&   r   s       r   convert_tablezMarkdownConverter.convert_table      

$v--r   c                 (    |j                         dz   S r`  r&   r   s       r   convert_captionz!MarkdownConverter.convert_caption  s    zz|f$$r   c                 .    d|j                         z   dz   S r`  r&   r   s       r   convert_figcaptionz$MarkdownConverter.convert_figcaption  rb  r   c           
          d}d|j                   v r5|d   j                         r"t        dt        dt	        |d                     }d|j                         j                  dd      z   d|z  z   S Nr.   colspan  r$   r    |r/  isdigitr   r   r   r   r   r2   r3   r   r4   ri  s        r   
convert_tdzMarkdownConverter.convert_td  e     R	]%:%:%<!Ss2i='9:;GTZZ\))$44tg~EEr   c           
          d}d|j                   v r5|d   j                         r"t        dt        dt	        |d                     }d|j                         j                  dd      z   d|z  z   S rh  rl  rn  s        r   
convert_thzMarkdownConverter.convert_th  rp  r   c                    |j                  ddg      }|j                         d u }t        |D cg c]  }|j                  dk(   c}      xsB |j                  j                  dk(  xr' t        |j                  j                  d            dk(  }|xr |j                  j                  dk(   xsQ |xrM |j                  j                  dk(  xr2 t        |j                  j                  j                  dg            dk  }d}	d}
d}|D ]N  }d	|j                  v r9|d	   j                         r&|t        dt        d
t        |d	                     z  }J|dz  }P |s|r3| j                  d   r$|r"|
ddj                  dg|z        z   dz   dz   z  }
n|r| j                  d   rN|r|j                  j                  dk(  s3|j                  j                  dk(  r\|j                  j                         sB|	ddj                  dg|z        z   dz   dz   z  }	|	ddj                  dg|z        z   dz   dz   z  }	|	dz   |z   dz   |
z   S c c}w )NrV   rW   rR   rU   r.   rS   r   r   ri  rj  r   z| z | z---rk  r   rQ   |)r4  find_previous_siblingallrX   r   r   r/  rm  r   r   r   r   r   )r2   r3   r   r4   cellsis_first_rowcell
is_headrowis_head_row_missingoverliner   full_colspans               r   
convert_trzMarkdownConverter.convert_tr  s?   T4L)//1T9u5utd"u56 8		') 7		**401Q6	 	 ;"))..G";; nl7!:ls299CSCSC\C\^e]fCg?hkl?l 	 	DDJJ&4	?+B+B+DAs4T)_1E'F GG!	 
 $\\"67 
 

E7\+A BBTIDPPI"||$89yy~~099>>W4#%99#B#B#D uzz2$*=>>ELLHuzz5'L*@AADH4OOH#~$t+i77O 6s   I r   )9rn   ro   rp   r   r   r   rv   r   r   r   r   r   r   r   r   r   r   r   r:   	convert_br  r  r  convert_delr  convert_articleconvert_section
convert_emconvert_kbdr  
convert_dlr  r   r*  	convert_ir0  r6  r9  
convert_ul
convert_olrE  rP  rS  rU  rX  r[  	convert_sconvert_strongconvert_sampconvert_subconvert_supra  rd  rf  ro  rr  r~  r9   r   r   rj   rj      sO    0. #"'9C\|B/.	O]( ++\]I$ !Y( -->?K3 "O!O+,YZJK* J!0& I	6$B JJ#J3.@&  INL,-TUK,-TUK.%.FF+8r   rj   c                 6    t        di |j                  |       S )Nr9   )rj   rv   )r   r   s     r   markdownifyr    s    'w'//55r   )7bs4r   r   r   r   r   textwrapr   r  r   compilere_convert_heading	MULTILINEr  r   r   r   rY   r   r   r    r!   r   DOTALLr   r   r   r   r   r  ATXr%  r{   SETEXTr~   r  r   
UNDERSCOREr   r   r   rR  r   r"   r)   r:   rD   r\   r_   rb   re   rh   objectrj   r  r9   r   r   <module>r     s   E E  	 
  RZZ 12 !rzz(",,? 

9%BJJ}- "

#@A "**Y'H%H%

<(

:& %"**[1  !bjj!>biiP  "rzz"56  !+

+@ A 
 #

#<=  'BJJ'LM  2::e$  

	 
	 
 
		
".Q)L
"f	8 f	8R6r   