�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n! aabc@sdZddlZddlZddlZyddlmZWn!ek raddlmZnXddlm Z ddl m Z ddl m Z m Z ddl mZmZyeWnek reZnXyeWnek reZnXyeWnek reZnXyeWnek r;eefZnXdd d d d d dgZejdejejBjZejdejjZejdejddkrejfnfj Z!ejdejj"Z#ejdejj"Z$ejdejj"Z%dZ&ejdjZ'ejdejejBZ(e j)dZ*e j)ddie d6Z+d e,fdYZ-e-Z.e.j/Z/ejdejejd ejgZ0d!d"d#d$d%d&gZ1ejd'ejejd(ejejd)gZ2d*gZ3e0e1e2e3d+Z4d,Z5d-Z6e4je6_d"d!d#gZ7d.gZ8d/e7e8ed0d1Z9d2Z:d3Z;ejd4ejZ<d5Z=dS(6scA cleanup tool for HTML. Removes unwanted tags and content. See the `Cleaner` class for details. iN(turlsplit(tetree(tdefs(t fromstringtXHTML_NAMESPACE(t xhtml_to_htmlt_transform_resultt clean_htmltcleantCleanertautolinkt autolink_htmlt word_breaktword_break_htmlsexpression\s*\(.*?\)s @\s*importssdescendant-or-self::*[@style]sdescendant-or-self::a [normalize-space(@href) and substring(normalize-space(@href),1,1) != '#'] |descendant-or-self::x:a[normalize-space(@href) and substring(normalize-space(@href),1,1) != '#']t namespacestxcBsOeZdZeZeZeZeZdZ eZ eZ eZ eZeZeZeZeZdZdZdZeZeZejZeZdZeddgZdZedddddd d gddddd dd dZ d Z!dZ"dZ#dZ$dZ%ddZ&dZ'e(j)de(j*j+Z,dZ-dZ.RS(s Instances cleans the document of each of the possible offending elements. The cleaning is controlled by attributes; you can override attributes in a subclass, or set them in the constructor. ``scripts``: Removes any ``