BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.6/site-packages/feedparser/__pycache__/sanitizer.cpython-36.pyc
3

_9j0]�@sjddlZddlmZddlmZGdd�de�Zdd�Zejd	ej�Z	ejd
ej�Z
ejd�Zdd
�ZdS)�N�)�_BaseHTMLProcessor)�make_safe_absolute_uric�s�eZdZddddddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddhdZddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dd�d�d�d�d�d�d�d(d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d7d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�dRd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�h�Zd�d�d�hZd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d&d�d�d�d�d�d��d�d�d�d�d�d�d�d�d�d	�d
�d�d�d
�d�d�d�d�d�d�dd�dd�h.Z�d�d�d�d�d�d�d�d�d�dd�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*�d+�d,�d-d��d.�d/�d0�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:h'Zej	�d;�Z
�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dd�de�d,�dfh,Z�dg�dh�didi�dj�dk�dl�dm�dn�do�dp�dq�dr�ds�dt�du�dv�dw�dx�dy�dz�d{dd��d|�d}�d~�d�d��d��d��d�d(d��d��d�d�d�d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d��d�d��d��d�d��d��d��d�dΐd��d��d��d��d��d��d��d��d��d�dԐd��d��d��d��d��d�d�d��d��d��d��d�hcZd�d��d��d��d��d��ddÐdĐdŐdƐdǐdȐdɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdԐdՐd֐dאdؐdِdڐd�dݐdܐd�h#Z
�dސdߐd�d�d�d�d�d�d�d�d�d�d�d�d�d��d�d�d�d�d�d�d��d�d�d�d��d��d��d�d�d��d�d�d�d��d��d��d��d��d��d��d��dd��d�dd��d�d�d�d�dd��d�d	�d
�d�d�d
�dd�d�d��d�d�d�d�d�d�d�dҐd�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*�d+�d,�d-�d.�d/�d0�d1�d2�d3dېd4�d5�d6dߐd7�d8�d9�d:�d;�d<�d=�d>�d?�d@�dAd�dB�dC�dD�dE�dF�dG�dH�d��dI�d��dJ�d��dKd�dL�d��d��dM�dN�dO�dPh�Z�dQZ�dQZ�d��d��d��d+�d.�d/�d1�d2hZ�df�f�dS�dT�	Z�f�dU�dV�Z�f�dW�dX�Z�f�dY�dZ�Z�d[�d\�Z�d]�d^�Z�f�d_�d`�Z�da�db�Z�dg�f�dd�de�	Z�ZS(h�_HTMLSanitizer�aZabbrZacronym�address�area�article�aside�audio�b�big�
blockquote�br�buttonZcanvas�caption�centerZcite�code�col�colgroup�command�datagridZdatalist�dd�del�details�dfn�dialog�dir�div�dl�dt�emzevent-source�fieldset�
figcaption�figure�font�footer�form�h1�h2�h3�h4�h5�h6�header�hr�i�img�inputZinsZkbd�keygen�labelZlegend�li�m�map�menuZmeterZmulticol�navZnextid�noscript�ol�optgroup�option�output�p�pre�progress�q�sZsamp�section�select�smallZsound�sourceZspacer�span�strike�strong�sub�sup�table�tbody�td�textarea�tfoot�th�thead�time�tr�tt�u�ul�var�video�acceptzaccept-charsetZ	accesskey�actionZalignZalt�autocomplete�	autofocusZaxis�
backgroundZbalanceZbgcolorZbgproperties�borderZbordercolorZbordercolordarkZbordercolorlightZ
bottompaddingZcellpaddingZcellspacing�ch�	challenge�charZcharoff�charset�checkedZchoff�class�clear�color�colsZcolspan�compactZcontenteditable�controlsZcoords�dataZdatafldZdatapagesizeZdatasrc�datetime�default�delay�disabledZ	draggableZdynsrcZenctype�end�face�for�frameZ
galleryimgZgutter�headers�height�hiddenZ	hidefocus�high�hrefZhreflangZhspaceZicon�idZ	inputmode�ismapZkeytype�langZleftspacing�listZlongdesc�loopZ	loopcountZloopendZ	loopstart�lowZlowsrc�max�	maxlengthZmedia�method�min�multiple�nameZnohref�noshadeZnowrap�openZoptimum�patternZpingz
point-sizeZposterZpqgZpreload�promptZ
radiogroup�readonly�relz
repeat-maxz
repeat-min�replace�required�revZrightspacing�rowsZrowspan�rulesZscope�selected�shape�size�src�start�step�style�summary�suppressZtabindex�target�template�titleZ
toppadding�typeZunselectable�urnZusemapZvalign�value�variable�volumeZvrmlZvspace�width�wrapzxml:lang�applet�scriptZazimuthzbackground-colorzborder-bottom-colorzborder-collapsezborder-colorzborder-left-colorzborder-right-colorzborder-top-color�cursor�	directionZdisplayZ	elevation�floatzfont-familyz	font-sizez
font-stylezfont-variantzfont-weightzletter-spacingzline-heightZoverflow�pausezpause-afterzpause-beforeZpitchzpitch-rangeZrichnessZspeakzspeak-headerz
speak-numeralzspeak-punctuationzspeech-rateZstressz
text-alignztext-decorationztext-indentzunicode-bidizvertical-alignzvoice-familyzwhite-spacez
!importantZaqua�auto�black�block�blue�boldZbothZbottomZbrownZcollapseZdashedZdottedZfuchsiaZgray�green�italic�leftZlimeZmaroonZmediumZnavy�none�normalZolive�pointerZpurple�red�rightZsilverZsolidZteal�topZtransparent�	underline�white�yellowz\^(#[0-9a-f]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)$�
annotationzannotation-xmlZmactionZmaligngroup�
malignmark�mathZmencloseZmerrorZmfencedZmfrac�mglyph�miZ
mlabeledtrZmlongdivZ
mmultiscripts�mn�moZmoverZmpaddedZmphantomZmprescriptsZmrootZmrow�msZ	mscarriesZmscarryZmsgroupZmslineZmspaceZmsqrtZmsrowZmstackZmstyleZmsubZmsubsupZmsupZmtableZmtd�mtextZmtrZmunderZ
munderoverZ	semanticsZaccentZaccentunderZ
actiontypeZalignmentscopeZaltimgz
altimg-heightz
altimg-valignzaltimg-widthZalttextZbevelledZ	charalign�closeZcolumnalignZcolumnlinesZ
columnspacingZ
columnspanZcolumnwidthZcrossoutZdecimalpointZ
denomalign�depthZdisplaystyleZedge�encodingZequalcolumnsZ	equalrowsZfenceZ	fontstyleZ
fontweightZframespacingZ
groupalignZindentalignZindentalignfirstZindentalignlastZindentshiftZindentshiftfirstZindentshiftlastZindenttargetZinfixlinebreakstyleZlargeop�lengthZ	linebreakZlinebreakmultcharZlinebreakstyleZlineleadingZ
linethickness�locationZlongdivstyleZlquoteZlspaceZmathbackgroundZ	mathcolorZmathsizeZmathvariant�maxsizeZminlabelspacingZminsizeZ
movablelimits�notationZnumalign�other�positionZrowalignZrowlinesZ
rowspacingZrquoteZrspaceZscriptlevelZ
scriptminsizeZscriptsizemultiplierZ	selection�	separator�
separators�shiftZsideZ
stackalignZstretchyZsubscriptshiftZsuperscriptshiftZ	symmetricZvoffsetz
xlink:hrefz
xlink:showz
xlink:type�xmlnszxmlns:xlinkZanimate�animateColor�
animateMotion�animateTransformZcircleZdefs�descZellipsez	font-facezfont-face-namez
font-face-src�
foreignObject�gZglyphZhkern�line�linearGradient�marker�metadataz
missing-glyphZmpath�pathZpolygonZpolyline�radialGradientZrect�set�stop�svg�switch�textZtspanZusez
accent-height�
accumulateZadditiveZ
alphabeticzarabic-formZascent�
attributeName�
attributeType�baseProfileZbbox�beginZby�calcModez
cap-heightzcolor-rendering�contentZcx�cy�dZdescentZdurZdxZdy�fillzfill-opacityz	fill-rulezfont-stretch�fromZfxZfyZg1Zg2z
glyph-name�
gradientUnitsZhangingzhoriz-adv-xzhoriz-origin-x�ideographic�k�	keyPoints�
keySplines�keyTimesz
marker-endz
marker-midzmarker-start�markerHeight�markerUnits�markerWidthZmathematical�offsetZopacityZorient�originzoverline-positionzoverline-thicknesszpanose-1�
pathLengthZpoints�preserveAspectRatio�r�refX�refY�repeatCount�	repeatDur�requiredExtensions�requiredFeaturesZrestart�rotate�rxZryZslopeZstemhZstemvz
stop-colorzstop-opacityzstrikethrough-positionzstrikethrough-thicknessZstrokezstroke-dasharrayzstroke-dashoffsetzstroke-linecapzstroke-linejoinzstroke-miterlimitzstroke-opacityzstroke-width�systemLanguageztext-anchorZtoZ	transform�u1�u2zunderline-positionzunderline-thickness�unicodez
unicode-rangezunits-per-em�values�version�viewBoxZ
visibilityZwidths�xzx-height�x1Zx2z
xlink:actuatez
xlink:arcrolez
xlink:rolezxlink:titlezxml:basez	xml:space�y�y1�y2�
zoomAndPanN�application/xhtml+xmlcs(tt|�j||�d|_d|_d|_dS)Nr)�superr�__init__�unacceptablestack�mathmlOK�svgOK)�selfr��_type)�	__class__��>/usr/local/lib/python3.6/site-packages/feedparser/sanitizer.pyr�sz_HTMLSanitizer.__init__cs$tt|�j�d|_d|_d|_dS)Nr)rr�resetrrr)r)rrrr�sz_HTMLSanitizer.resetc
sV|j}i}||jks|j�r�||jkr4|jd7_|jjd�rrt|�jd�sr|dkr`|j	d�|dkrr|j	d�|dkr�d|kr�|j
d7_
|dkr�d|kr�|jd7_|j
r�||jkr�|j}n�|jo�||j
k�rp|j�sTdd	�|jD���fd
d	�|jD�}�|_dd�|D�|_d
d	�|j
D���fdd	�|j
D�}�|_
dd�|D�|_|j}|jj||�}|j}n||jk�r�dS|j
�s�|j�r�tdd�|D���r�d|k�r�|j	d�g}x�|j|�D]t\}}|dk�rd|k�r|j|�}	|	�r:|j	||	f�n6||k�r�|j||�}|dk�r,t|�}|j	||f��q�Wtt|�j||�dS)Nr�htmlr�r��http://www.w3.org/2000/svgr��"http://www.w3.org/1998/Math/MathMLcSsg|]}|j��qSr)�lower)�.0�attrrrr�
<listcomp>sz3_HTMLSanitizer.unknown_starttag.<locals>.<listcomp>csg|]}|�kr|�qSrr)r r)rrrr"scSsi|]}||j��qSr)r)r rrrr�
<dictcomp>
sz3_HTMLSanitizer.unknown_starttag.<locals>.<dictcomp>cSsg|]}|j��qSr)r)r r!rrrr"scsg|]}|�kr|�qSrr)r r)rrrr"
scSsi|]}||j��qSr)r)r rrrrr#scss |]}|djd�r|VqdS)rzxlink:N)�
startswith)r rrrr�	<genexpr>sz2_HTMLSanitizer.unknown_starttag.<locals>.<genexpr>�xmlns:xlink�http://www.w3.org/1999/xlinkr�ry)r�r)r�r)r�r)r�r)r&r')r&r')�acceptable_attributes�acceptable_elementsr�"unacceptable_elements_with_end_tagrr�endswith�dict�get�appendr�mathml_elements�mathml_attributes�svg_elements�svg_attr_map�svg_attributes�svg_elem_map�anyZnormalize_attrs�sanitize_stylerrr�unknown_starttag)
r�tag�attrsr(ZkeymapZmixZclean_attrs�keyr�Zclean_value)r)rrr7�s`







z_HTMLSanitizer.unknown_starttagcs�||jkr�||jkr"|jd8_|jrP||jkrP|dkr�|jr�|jd8_n@|jr�||jkr�|jj||�}|dkr�|jr�|jd8_ndSt	t
|�j|�dS)Nrr�r�)r)r*rrr/rr1r4r-rr�unknown_endtag)rr8)rrrr;*s

z_HTMLSanitizer.unknown_endtagcCsdS)Nr)rr�rrr�	handle_pi9sz_HTMLSanitizer.handle_picCsdS)Nr)rr�rrr�handle_decl<sz_HTMLSanitizer.handle_declcs|jstt|�j|�dS)N)rrr�handle_data)rr�)rrrr>?sz_HTMLSanitizer.handle_datacCstjd�jd|�}tjd|�s"dStjdd|�j�r8dSg}x�tjd|�D]�\}}|sXqJ|j�|jkr~|j|d|d�qJ|j	d	�d
j�dkr�xl|j	�D]}||j
kr�|jj|�r�Pq�W|j|d|d�qJ|jo�|j�|j
krJ|j|d|d�qJWdj|�S)Nzurl\s*\(\s*[^\s)]+?\s*\)\s*� z@^([:,;#%.\sa-zA-Z0-9!]|\w-\w|'[\s\w]+'|"[\s\w]+"|\([\d,\s]+\))*$�z\s*[-\w]+\s*:\s*[^:;]*;?z([-\w]+)\s*:\s*([^:;]*)z: �;�-rr_r`�margin�padding)r_r`rCrD)�re�compilerK�match�strip�findallr�acceptable_css_propertiesr.�split�acceptable_css_keywords�valid_css_valuesr�acceptable_svg_properties�join)rr��clean�propr��keywordrrrr6Cs(
z_HTMLSanitizer.sanitize_stylercsLtt|�j||�}|dkr|Stjd�j|j|d�}|rB|j�St|j�S)Nrz--[^>]*>�)	rr�
parse_commentrErF�search�rawdatarq�len)rr0�report�retrG)rrrrTcsz_HTMLSanitizer.parse_comment)Nr)r)�__name__�
__module__�__qualname__r)r(r*rJrLrErFrMr/r0r1r3r2r4rNrrr7r;r<r=r>r6rT�
__classcell__rr)rrr"s8? rcCs<t||�}|jdd�}|j|�|j�}|j�jdd�}|S)Nz	<![CDATA[z&lt;![CDATA[z
�
)rr��feedr>rH)Zhtml_sourcer�rr?rlrrr�_sanitize_htmlps

r`s^\s*<!ENTITY([^>]*?)>s^\s*<!DOCTYPE([^>]*?)>s\s+(\w+)\s+"(&#\w+;|[^&"]*)"c	Cs�tjd|�}|r|j�pd}|d|d�||dd�}}tj|�}tjd|�}tj|�}|rj|dpld}d|j�kr�d}nd}d}t|�dkr�|r�dd	�|D�}|r�d
dj	|�d}tj||�|}d
d�t
j|�D�}|||fS)z�Strips and replaces the DOCTYPE, returns (rss_version, stripped_data)

    rss_version may be 'rss091n' or None
    stripped_data is the same XML document with a replaced DOCTYPE
    s<\wrN�rsnetscapeZrss091ncSsg|]}tj|�r|�qSr)�RE_SAFE_ENTITY_PATTERNrG)r �errrr"�sz#replace_doctype.<locals>.<listcomp>s<!DOCTYPE feed [
<!ENTITYs>
<!ENTITY s>
]>cSs"i|]\}}|jd�|jd��qS)zutf-8)�decode)r r��vrrrr#�sz#replace_doctype.<locals>.<dictcomp>���)rErUr��RE_ENTITY_PATTERNrIrK�RE_DOCTYPE_PATTERNrrWrOrb)	rlr��headZentity_resultsZdoctype_results�doctyper�replacementZ
safe_entitiesrrr�replace_doctype�s(	"

rl)
rErr�urlsrrr`rF�	MULTILINErgrhrbrlrrrr�<module>sT