o
    i                     @   sR   d dl Z ddlmZ e dZdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )    N   )escape_htmlz=\*\[([^\]]+)\]:((?:[ \t]*\n(?: {3,}|\t)[^\n]+)|(?:[^\n]*))\n*c                 C   s8   | di }|d}|d}| ||< ||d< d S )N	def_abbrs   r   )getgroupstrip)blockmstater   label
definition r   O/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/mistune/plugins/abbr.pyparse_def_abbr   s
   

r   c                 C   s    |d }| d}d||| fS )Nr   r   abbr)r   )inliner
   r   r   r   r   r   r   parse_inline_abbr   s   
r   c                 C   sP   | d}|r&t| }ddd |D }| jd|t | jjd |S )Nr   |c                 s   s    | ]}t |V  qd S )N)reescape).0kr   r   r   	<genexpr>!   s    z'after_parse_def_abbr.<locals>.<genexpr>r   )	r   listkeysjoinr   register_ruler   rulesappend)mdtokensr   r   labelsabbr_patternr   r   r   after_parse_def_abbr   s   
r$   c                 C   s(   d}|rt |}d|}dj| |dS )N z title="{}"z#<abbr{title_attribute}>{key}</abbr>)keytitle_attribute)r   format)r&   r   r'   r   r   r   render_html_abbr'   s   
r)   c                 C   s   d| |dS )Nr   )typetextr   r   )r&   r   r   r   r   render_ast_abbr3   s   r,   c                 C   sj   | j dtt | jt | j jd | jj	dkr$| j
dt d S | jj	dkr3| j
dt d S d S )Ndef_abbrhtmlr   ast)r	   r   DEF_ABBRr   before_render_hooksr   r$   r   rendererNAMEregisterr)   r,   )r    r   r   r   plugin_abbr7   s   r5   )r   utilr   compiler0   r   r   r$   r)   r,   r5   r   r   r   r   <module>   s    

