Ë
    Ÿ2Úi.  ã                  ó¼   — d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	 ddl
Z
ddgZ e
j                  de
j                  «      Zd	„ Zd
„ Zd„ Zd„ Zd„ Zdd„Zdd„Zdd„Zy)aª  
Python-Markdown provides two serializers which render [`ElementTree.Element`][xml.etree.ElementTree.Element]
objects to a string of HTML. Both functions wrap the same underlying code with only a few minor
differences as outlined below:

1. Empty (self-closing) tags are rendered as `<tag>` for HTML and as `<tag />` for XHTML.
2. Boolean attributes are rendered as `attrname` for HTML and as `attrname="attrname"` for XHTML.
é    )Úannotations)ÚProcessingInstruction)ÚCommentÚElementTreeÚElementÚQNameÚ
HTML_EMPTYNÚto_html_stringÚto_xhtml_stringz)&(?!(?:\#[0-9]+|\#x[0-9a-f]+|[0-9a-z]+);)c                ó^   — t        dj                  | t        | «      j                  «      «      ‚)Nzcannot serialize {!r} (type {}))Ú	TypeErrorÚformatÚtypeÚ__name__©Útexts    úK/var/www/html/acx/venv/lib/python3.12/site-packages/markdown/serializers.pyÚ_raise_serialization_errorr   9   s)   € Ü
Ø)×0Ñ0°´t¸D³z×7JÑ7JÓKó
ð 
ó    c                óÔ   — 	 d| v rt         j                  d| «      } d| v r| j                  dd«      } d| v r| j                  dd«      } | S # t        t        f$ r t        | «       Y y w xY w)Nú&ú&amp;ú<ú&lt;ú>ú&gt;©ÚRE_AMPÚsubÚreplacer   ÚAttributeErrorr   r   s    r   Ú_escape_cdatar"   ?   so   € ð)ð �$‰;ä—:‘:˜g tÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØˆøÜ”~Ð&ò )Ü" 4Ö(ð)ús   ‚AA
 Á
A'Á&A'c                ó,  — 	 d| v rt         j                  d| «      } d| v r| j                  dd«      } d| v r| j                  dd«      } d| v r| j                  dd«      } d	| v r| j                  d	d
«      } | S # t        t        f$ r t        | «       Y y w xY w)Nr   r   r   r   r   r   ú"ú&quot;ú
z&#10;r   r   s    r   Ú_escape_attribr'   Q   s›   € ð)Ø�$‰;ä—:‘:˜g tÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�4‰<Ø—<‘<  hÓ/ˆDØ�4‰<Ø—<‘<  gÓ.ˆDØˆøÜ”~Ð&ò )Ü" 4Ö(ð)ús   ‚A3A6 Á6BÂBc                ó   — 	 d| v rt         j                  d| «      } d| v r| j                  dd«      } d| v r| j                  dd«      } d| v r| j                  dd«      } | S # t        t        f$ r t        | «       Y y w xY w)	Nr   r   r   r   r   r   r$   r%   r   r   s    r   Ú_escape_attrib_htmlr)   d   s„   € ð)Ø�$‰;ä—:‘:˜g tÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�$‰;Ø—<‘<  VÓ,ˆDØ�4‰<Ø—<‘<  hÓ/ˆDØˆøÜ”~Ð&ò )Ü" 4Ö(ð)ús   ‚AA  Á A=Á<A=c                óŽ  — |j                   }|j                  }|t        u r | dt        |«      z  «       �nç|t        u r | dt        |«      z  «       �nÉ|€)|r | t        |«      «       |D ]  }t        | ||«       Œ �nžd }t        |t        «      r@|j                  d d dk(  r#|j                  dd  j                  dd«      \  }}nt        d«      ‚ | d|z   «       |j                  «       }|r‡t        |«      }|D ]w  \  }}	t        |t        «      r|j                  }t        |	t        «      r|	j                  }	nt        |	«      }	||	k(  r|dk(  r | d	|	z  «       Œ` | d
j                  ||	«      «       Œy |r | dt        |«      z  «       |dk(  r|j                  «       t         v r	 | d«       nn | d«       |r,|j                  «       dv r	 | |«       n | t        |«      «       |D ]  }t        | ||«       Œ |j                  «       t         vr | d|z   dz   «       |j"                  r | t        |j"                  «      «       y y )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'   Úlowerr	   Útail)
ÚwriteÚelemr   r2   r   ÚeÚnamespace_urir7   ÚkÚvs
             r   r3   r3   u   s  € Ø
�(‰(€CØ�9‰9€DØ
Œg�~ÙˆkœM¨$Ó/Ñ/Ö0Ø	Ô%Ñ	%Ùˆhœ tÓ,Ñ,Ö-Ø	ˆÙÙ”- Ó%Ô&Øò 	.ˆAÜ˜E 1 fÕ-ò	.ð ˆÜ�cœ5Ô!à�x‰x˜˜ˆ|˜sÒ"Ø%(§X¡X¨a¨b \×%7Ñ%7¸¸QÓ%?Ñ"�™sä Ð!CÓDÐDÙˆc�C‰iÔØ—
‘
“ˆÙÜ˜5“MˆEØò 3‘��1Ü˜a¤Ô'àŸ™�AÜ˜a¤Ô'àŸ™‘Aä+¨AÓ.�AØ˜’6˜f¨Ò.á˜% !™)Õ$á˜*×+Ñ+¨A¨qÓ1Õ2ð3ñ Ù�-¤>°-Ó#@ÑAÔBØ�WÒ §¡£´
Ñ!:Ù�%�Lá�#ŒJÙØ—9‘9“;Ð"5Ñ5Ù˜$•Káœ-¨Ó-Ô.Øò 2�Ü  q¨&Õ1ð2à�y‰y‹{¤*Ñ,Ù�d˜S‘j 3Ñ&Ô'Ø‡y‚yÙŒm˜DŸI™IÓ&Õ'ð r   c                ób   — | €J ‚g }|j                   }t        || |«       dj                  |«      S )NÚ )Úappendr3   Újoin)Úrootr   Údatar;   s       r   Ú_write_htmlrG   ®   s6   € ØÐÐÐØ€DØ�K‰K€EÜ�E˜4 Ô(Ø�7‰7�4‹=Ðr   c                óJ   — t        t        | «      j                  «       d¬«      S )z: Serialize element and its children to a string of HTML5. r.   ©r   ©rG   r   Úgetroot©Úelements    r   r
   r
   º   s   € ä”{ 7Ó+×3Ñ3Ó5¸fÔEÐEr   c                óJ   — t        t        | «      j                  «       d¬«      S )z: Serialize element and its children to a string of XHTML. r/   rI   rJ   rL   s    r   r   r   ¿   s   € ä”{ 7Ó+×3Ñ3Ó5¸gÔFÐFr   )r.   )rM   r   ÚreturnÚstr)Ú__doc__Ú
__future__r   Úxml.etree.ElementTreer   r   r   r   r   r	   ÚreÚ__all__ÚcompileÚIr   r   r"   r'   r)   r3   rG   r
   r   © r   r   ú<module>rY      si   ðñJõ #å 7ß RÕ RÛ 	àÐ.Ð
/€à	ˆ�‰Ð@À"Ç$Á$Ó	G€ò
ò)ò$)ò&)ò"6(óróFô
Gr   