�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n! Jp[c @ s d d l m Z d d l Z d d l Z d d l m Z m Z m Z m Z d d d d g Z d Z d Z d Z d Z d Z d Z d e f d YZ e Z d e f d YZ d e f d YZ d e f d YZ d Z d e f d YZ d d l m Z e e y d d l m Z e e Wn e k rKn Xy d d l m Z e e Wn e k r}n Xd S( i( t defaultdictN( t CharsetMetaAttributeValuet ContentMetaAttributeValuet HTMLAwareEntitySubstitutiont whitespace_ret HTMLTreeBuildert SAXTreeBuildert TreeBuildert TreeBuilderRegistryt fastt permissivet strictt xmlt htmlt html5c B s# e Z d Z d Z d Z RS( c C s t t | _ g | _ d S( N( R t listt builders_for_featuret builders( t self( ( s8 /usr/lib/python2.7/site-packages/bs4/builder/__init__.pyt __init__ s c C sB x( | j D] } | j | j d | q W| j j d | d S( s8 Register a treebuilder based on its advertised features.i N( t featuresR t insertR ( R t treebuilder_classt feature( ( s8 /usr/lib/python2.7/site-packages/bs4/builder/__init__.pyt register$ s c G s t | j d k r d St | d k r6 | j d St | } | j d } d } x t | d k r | j } | j j | g } t | d k r[ | d k r | } t | } q | j t | } q[ q[ W| d k r d Sx | D] } | | k r | Sq Wd S( Ni ( t lenR t NoneR t reverset popR t gett sett intersection( R R t candidatest candidate_setR t we_have_the_featuret candidate( ( s8 /usr/lib/python2.7/site-packages/bs4/builder/__init__.pyt lookup* s. ( t __name__t __module__R R R$ ( ( ( s8 /usr/lib/python2.7/site-packages/bs4/builder/__init__.pyR s c B s e Z d Z d Z g Z g Z e Z e Z e Z d Z i Z d Z d Z d Z d Z d d d Z d Z d Z d Z RS( s2 Turn a document into a Beautiful Soup object tree.s [Unknown tree builder]c C s d | _ d S( N( R t soup( R ( ( s8 /usr/lib/python2.7/site-packages/bs4/builder/__init__.pyR f s c C s d S( N( ( R ( ( s8 /usr/lib/python2.7/site-packages/bs4/builder/__init__.pyt reseti s c C s | j d k r t S| | j k S( s Might a tag with this name be an empty-element tag? The final markup may or may not actually present this tag as self-closing. For instance: an HTMLBuilder does not consider a
tag to be an empty-element tag (it's not in HTMLBuilder.empty_element_tags). This means an empty
tag will be presented as "
", not "". The default implementation has no opinion about which tags are empty-element tags, so a tag will be presented as an empty-element tag if and only if it has no contents. "