]~@sddlZddlmZddgZdddZdddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIi"ZdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddd d dddddddddd d"d$d&d(d*d,d.d0d2d4d6d8d:d<d>d@dBdDdFdHdedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddh~ZddZ ej dZ ddZ dS)N)html5escapeunescapeTcCsd|jdd}|jdd}|jdd}|r`|jdd}|jd d }|S) N&z&z>"z"'z')replace)squoter -/opt/alt/python35/lib64/python3.5/__init__.pyr su�  u€u‚uƒu„u…u†u‡uˆu‰uŠu‹uŒuŽu‘u’u“u”u•u–u—u˜u™ušu›uœužuŸiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiii i i i i i i i i i iiiiiicCsJ|jd}|ddkr|ddkrTt|ddjdd}nt|ddjd}|tkrt|Sd|kod kns|d krd S|tkrd St|S|tkrt|Sxbtt|dddD]<}|d|tkrt|d|||dSqWd |SdS)Nr6r#ZxXr7;r@iiiu�r) groupintrstrip_invalid_charrefs_invalid_codepointschr_html5rangelen)r numxr r r_replace_charref[s$% (   #$raz7&(#[0-9]+;?|#[xX][0-9a-fA-F]+;?|[^\t\n\f <&#;]{1,32};?)cCs d|kr|Stjt|S)Nr)_charrefsubra)r r r rrzs ) re_reZ html.entitiesrr\__all__rrYrZracompilerbrr r r rsn   $$$