o
    7dw                     @   s   d dl mZ d dl mZmZmZ d dlZddgZdZedej	Z
zeeZW n	 ey0   Y nw dd	 Zd
d Zdd Zdd Zdd ZdddZdd Zdd ZdS )    )ProcessingInstruction)CommentElementTreeQNameNto_html_stringto_xhtml_string)areabasebasefontbrcolframehrimginputisindexlinkmetaparamz)&(?!(?:\#[0-9]+|\#x[0-9a-f]+|[0-9a-z]+);)c                 C   s   t d| t| j)Nzcannot serialize {!r} (type {}))	TypeErrorformattype__name__text r   kC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\markdown/serializers.py_raise_serialization_error6   s   r   c              	   C   sd   z!d| v rt d| } d| v r| dd} d| v r| dd} | W S  ttfy1   t|  Y d S w )N&&amp;<&lt;>&gt;RE_AMPsubreplacer   AttributeErrorr   r   r   r   r   _escape_cdata<   s   r)   c              	   C   s   z5d| v rt d| } d| v r| dd} d| v r| dd} d| v r)| dd} d	| v r3| d	d
} | W S  ttfyE   t|  Y d S w )Nr   r   r    r!   r"   r#   "&quot;
z&#10;r$   r   r   r   r   _escape_attribN   s   r-   c              	   C   sx   z+d| v rt d| } d| v r| dd} d| v r| dd} d| v r)| dd} | W S  ttfy;   t|  Y d S w )	Nr   r   r    r!   r"   r#   r*   r+   r$   r   r   r   r   _escape_attrib_htmla   s   r.   c           
      C   s  |j }|j}|tu r| dt|  n|tu r | dt|  n|d u r8|r,| t| |D ]}t| || q.nd }t|trZ|jd d dkrV|jdd  dd\}}nt	d| d|  |
 }|rt|}|D ]0\}}	t|trx|j}t|	tr|	j}	nt|	}	||	kr|dkr| d	|	  ql| d
||	 ql|r| dt|  |dkr| tv r| d n0| d |r| dv r| | n| t| |D ]}t| || q| tvr| d| d  |jr| t|j d S d S )Nz	<!--%s-->z<?%s?>   {}z QName objects must define a tag.r    htmlz %sz {}="{}"z xmlns="%s"xhtmlz />r"   )scriptstylez</)tagr   r   r)   r   _serialize_html
isinstancer   split
ValueErroritemssortedr.   r   r-   lower
HTML_EMPTYtail)
writeelemr   r6   r   eZnamespace_urir;   kvr   r   r   r7   r   s\   




r7   r2   c                 C   s,   | d usJ g }|j }t|| | d|S )N )appendr7   join)rootr   datar@   r   r   r   _write_html   s
   
rJ   c                 C      t t|  ddS )Nr2   r   rJ   r   getrootelementr   r   r   r         c                 C   rK   )Nr3   rL   rM   rO   r   r   r   r      rQ   )r2   )xml.etree.ElementTreer   r   r   r   re__all__r>   compileIr%   set	NameErrorr   r)   r-   r.   r7   rJ   r   r   r   r   r   r   <module>   s&   %
9