All classes:
- soupsieve.__meta__.Version
- soupsieve.util.SelectorSyntaxError
- soupsieve.css_types.Immutable
- soupsieve.css_types.ImmutableDict
- soupsieve.css_types.Namespaces
- soupsieve.css_types.CustomSelectors
- soupsieve.css_types.Selector
- soupsieve.css_types.SelectorNull
- soupsieve.css_types.SelectorTag
- soupsieve.css_types.SelectorAttribute
- soupsieve.css_types.SelectorContains
- soupsieve.css_types.SelectorNth
- soupsieve.css_types.SelectorLang
- soupsieve.css_types.SelectorList
- soupsieve.css_match._FakeParent
- soupsieve.css_match._DocumentNav
- soupsieve.css_match.Inputs
- soupsieve.css_match.CSSMatch
- soupsieve.css_match.SoupSieve
- soupsieve.css_parser.SelectorPattern
- soupsieve.css_parser.SpecialPseudoPattern
- soupsieve.css_parser._Selector
- soupsieve.css_parser.CSSParser
- bs4.dammit.EntitySubstitution
- bs4.dammit.EncodingDetector
- bs4.dammit.UnicodeDammit
- bs4.formatter.Formatter
- bs4.formatter.HTMLFormatter
- bs4.formatter.XMLFormatter
- bs4.element.NamespacedAttribute
- bs4.element.AttributeValueWithCharsetSubstitution
- bs4.element.CharsetMetaAttributeValue
- bs4.element.ContentMetaAttributeValue
- bs4.element.PageElement
- bs4.element.NavigableString
- bs4.element.PreformattedString
- bs4.element.CData
- bs4.element.ProcessingInstruction
- bs4.element.XMLProcessingInstruction
- bs4.element.Comment
- bs4.element.Declaration
- bs4.element.Doctype
- bs4.element.Stylesheet
- bs4.element.Script
- bs4.element.TemplateString
- bs4.element.Tag
- bs4.element.SoupStrainer
- bs4.element.ResultSet
- bs4.builder.TreeBuilderRegistry
- bs4.builder.TreeBuilder
- bs4.builder.SAXTreeBuilder
- bs4.builder.HTMLTreeBuilder
- bs4.builder.ParserRejectedMarkup
- bs4.builder._htmlparser.HTMLParseError
- bs4.builder._htmlparser.BeautifulSoupHTMLParser
- bs4.builder._htmlparser.HTMLParserTreeBuilder
- bs4.builder._html5lib.HTML5TreeBuilder
- bs4.builder._html5lib.TreeBuilderForHtml5lib
- bs4.builder._html5lib.AttrList
- bs4.builder._html5lib.Element
- bs4.builder._html5lib.TextNode
- bs4.builder._lxml.LXMLTreeBuilderForXML
- bs4.builder._lxml.LXMLTreeBuilder
- bs4.GuessedAtParserWarning
- bs4.MarkupResemblesLocatorWarning
- bs4.BeautifulSoup
- bs4.BeautifulStoneSoup
- bs4.StopParsing
- bs4.FeatureNotFound
- bs4.testing.SoupTest
- bs4.testing.TreeBuilderSmokeTest
- bs4.testing.HTMLTreeBuilderSmokeTest
- bs4.testing.XMLTreeBuilderSmokeTest
- bs4.testing.HTML5TreeBuilderSmokeTest
- bs4.diagnose.AnnouncingParser
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_select'
    functionSourceFile: '...fuzz_select'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - '...fuzz_select.main'
    - atheris.instrument_all
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 24
    functionName: '...fuzz_select.TestOneInput'
    functionSourceFile: '...fuzz_select'
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - token.group
    - soupsieve.css_match.CSSMatch.__init__
    - el.attrs.items
    - child._last_descendant
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - bs4.BeautifulSoup.string_container
    - m.end
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - <builtin>.float
    - soupsieve.css_match._DocumentNav.get_tag_name
    - bs4.BeautifulSoup.__init__
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - markup.decode
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - sys.__dict__.get
    - bs4.BeautifulSoup.pushTag
    - soupsieve.css_match.CSSMatch.match_defined
    - selectors.append
    - builder.set_up_substitutions
    - sys.stdin.read
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.match_range
    - os.path.exists
    - soupsieve.css_types.CustomSelectors.__init__
    - rejections.append
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.dict
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - <builtin>.hasattr
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - soupsieve.css_match.Inputs.validate_year
    - <builtin>.next
    - sel.nth.extend
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_match.SoupSieve.select
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_content_string
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - sub_sel.attributes.append
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.is_doc
    - kwargs.get
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - atheris.FuzzedDataProvider
    - bs4.BeautifulSoup.endData
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - bs4.element.PageElement.setup
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_attributes
    - collections.defaultdict.get
    - <builtin>.ord
    - sel.selectors.append
    - <builtin>.list
    - soupsieve.css_match.CSSMatch.match_classes
    - html5lib.treebuilders._base.Node.setup
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - soupsieve.css_match._DocumentNav.has_html_ns
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - os.path.isdir
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - bs4.BeautifulSoup._check_markup_is_url
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - <builtin>.set
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - RE_NOT_WS.findall
    - warnings.warn
    - sys._getframe
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - bs4.BeautifulSoup._decode_markup
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - features.pop
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - bs4.testing.SoupTest.default_builder
    - datetime.datetime.strptime
    - bs4.element.Tag.__init__
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - bs4.BeautifulSoup.reset
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.select
    - s.freeze
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - RE_WS_END.search
    - fdp.ConsumeUnicodeNoSurrogates
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - filename.lower
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - collections.Counter
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - candidate_set.intersection
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - bs4.BeautifulSoup.popTag
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.getattr
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - bs4.builder.TreeBuilderRegistry.lookup
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - parent.contents.append
    - soupsieve.css_types.SelectorList.__init__
    - <builtin>.any
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - features.reverse
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - bs4.BeautifulSoup.object_was_parsed
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 37
    ICount: 16
    IfCount: 26
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a0d8fa0>
    - <ast.Constant object at 0x7f5d1a0d8850>
    - <ast.Constant object at 0x7f5d1a0d8a90>
    - <ast.Constant object at 0x7f5d1a0d8ee0>
    - <ast.Constant object at 0x7f5d1a0d85b0>
    - <ast.Constant object at 0x7f5d1a0d8df0>
    - <ast.Constant object at 0x7f5d1a0d8e20>
    argNames:
    - self
    - markup
    - features
    - builder
    - parse_only
    - from_encoding
    - exclude_encodings
    - element_classes
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 117
    functionName: bs4.BeautifulSoup.__init__
    functionSourceFile: bs4
    functionUses: 11
    functionsReached:
    - sys.stdin.startswith
    - os.path.exists
    - rejections.append
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - <builtin>.hasattr
    - collections.Counter
    - candidate_set.intersection
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - <builtin>.str
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.BeautifulSoup.endData
    - features.pop
    - parent.contents.append
    - markup.decode
    - <builtin>.any
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - sys.stdin.read
    - features.reverse
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup.reset
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    linkageType: pythonLinkage
    raised:
    - FeatureNotFound
    - ParserRejectedMarkup
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19c2e040>
    - <ast.Constant object at 0x7f5d19c2e520>
    - <ast.Constant object at 0x7f5d1add49d0>
    argNames:
    - select
    - tag
    - namespaces
    - limit
    - flags
    - custom
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 135
    functionName: soupsieve.select
    functionSourceFile: soupsieve
    functionUses: 3
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - token.group
    - soupsieve.css_match.CSSMatch.__init__
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - <builtin>.float
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - soupsieve.css_match.Inputs.validate_year
    - <builtin>.next
    - sel.nth.extend
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_match.SoupSieve.select
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_content_string
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - sub_sel.attributes.append
    - soupsieve.css_match._DocumentNav.is_doc
    - kwargs.get
    - <builtin>.str
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_attributes
    - <builtin>.ord
    - sel.selectors.append
    - <builtin>.list
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - soupsieve.css_match._DocumentNav.has_html_ns
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 85
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: '...fuzz_select.main'
    functionSourceFile: '...fuzz_select'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.instrument_all
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: -1
    functionName: bs4
    functionSourceFile: bs4
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - attrs.append
    - os.path.exists
    - bs4.formatter.Formatter.attribute_value
    - rejections.append
    - text.strip
    - bs4.formatter.Formatter.substitute
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - tag.attrs.items
    - <builtin>.hasattr
    - bs4.element.Tag._should_pretty_print
    - candidate_set.intersection
    - collections.Counter
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - val.encode
    - <builtin>.print
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.element.Tag.encode
    - bs4.BeautifulSoup.endData
    - bs4.formatter.XMLFormatter.__init__
    - features.pop
    - parent.contents.append
    - bs4.BeautifulSoup.decode
    - markup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - <builtin>.any
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - <builtin>.sorted
    - sys.stdin.read
    - features.reverse
    - u.encode
    - bs4.element.PageElement.formatter_for_name
    - bs4.BeautifulSoup.object_was_parsed
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.reset
    - bs4.element.Tag.__iter__
    - bs4.element.Tag.prettify
    - os.path.isdir
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - old_name
    - new_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 206
    functionName: bs4.BeautifulSoup.__init__.deprecated_argument
    functionSourceFile: bs4
    functionUses: 12
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 189
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    functionSourceFile: <builtin>
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 140
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - features
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: bs4.builder.TreeBuilderRegistry.lookup
    functionSourceFile: bs4.builder
    functionUses: 12
    functionsReached:
    - <builtin>.len
    - collections.defaultdict.get
    - <builtin>.list
    - features.reverse
    - features.pop
    - <builtin>.set
    - candidate_set.intersection
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: bs4.testing.SoupTest.default_builder
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys._getframe
    functionSourceFile: sys
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.__dict__.get
    functionSourceFile: sys
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: filename.lower
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnl.endswith
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 48
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.read
    functionSourceFile: sys
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.encode
    functionSourceFile: sys
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.exists
    functionSourceFile: os
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.isdir
    functionSourceFile: os
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 401
    functionName: bs4.BeautifulSoup._decode_markup
    functionSourceFile: bs4
    functionUses: 13
    functionsReached:
    - markup.decode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 414
    functionName: bs4.BeautifulSoup._check_markup_is_url
    functionSourceFile: bs4
    functionUses: 12
    functionsReached:
    - sys.stdin.startswith
    - warnings.warn
    - <builtin>.isinstance
    - markup.decode
    - <builtin>.any
    - bs4.BeautifulSoup._decode_markup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 454
    functionName: bs4.BeautifulSoup.reset
    functionSourceFile: bs4
    functionUses: 13
    functionsReached:
    - bs4.element.PageElement.setup
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - builder.set_up_substitutions
    - <builtin>.dict
    - builder._replace_cdata_list_attribute_values
    - collections.Counter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 441
    functionName: bs4.BeautifulSoup._feed
    functionSourceFile: bs4
    functionUses: 12
    functionsReached:
    - bs4.element.PageElement.setup
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - bs4.BeautifulSoup.popTag
    - child._last_descendant
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup.endData
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup._linkage_fixer
    - parent.contents.append
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rejections.append
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 97
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 380
    functionName: bs4.BeautifulSoup.__copy__
    functionSourceFile: bs4
    functionUses: 0
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.element.Tag.encode
    - <builtin>.type
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - u.encode
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7f5d1a8d6c40>
    - <ast.Constant object at 0x7f5d1a8d6670>
    - <ast.Constant object at 0x7f5d1a8d6a90>
    - <ast.Constant object at 0x7f5d1a8d6880>
    argNames:
    - self
    - encoding
    - indent_level
    - formatter
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1592
    functionName: bs4.element.Tag.encode
    functionSourceFile: bs4.element
    functionUses: 8
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - u.encode
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 393
    functionName: bs4.BeautifulSoup.__getstate__
    functionSourceFile: bs4
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markup.decode
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.startswith
    functionSourceFile: sys
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 38
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b6da30>
    argNames:
    - self
    - containerClass
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 555
    functionName: bs4.BeautifulSoup.endData
    functionSourceFile: bs4
    functionUses: 15
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.setup
    - bs4.BeautifulSoup.string_container
    - child._last_descendant
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup._linkage_fixer
    - parent.contents.append
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 527
    functionName: bs4.BeautifulSoup.popTag
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 3
    IfCount: 9
    argCount: 16
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a67aa90>
    - <ast.Constant object at 0x7f5d1a67a190>
    - <ast.Constant object at 0x7f5d1a67a6a0>
    - <ast.Constant object at 0x7f5d1a67a610>
    - <ast.Constant object at 0x7f5d1a67a820>
    - <ast.Constant object at 0x7f5d1a67a520>
    - <ast.Constant object at 0x7f5d1a67a6d0>
    - <ast.Constant object at 0x7f5d1a67a910>
    - <ast.Constant object at 0x7f5d1a67abb0>
    - <ast.Constant object at 0x7f5d1a67a1c0>
    - <ast.Constant object at 0x7f5d1a67a370>
    - <ast.Constant object at 0x7f5d1a67a2e0>
    - <ast.Constant object at 0x7f5d1a67a8b0>
    - <ast.Constant object at 0x7f5d1a67a490>
    - <ast.Constant object at 0x7f5d1a67aca0>
    argNames:
    - self
    - parser
    - builder
    - name
    - namespace
    - prefix
    - attrs
    - parent
    - previous
    - is_xml
    - sourceline
    - sourcepos
    - can_be_empty_element
    - cdata_list_attributes
    - preserve_whitespace_tags
    - interesting_string_types
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1152
    functionName: bs4.element.Tag.__init__
    functionSourceFile: bs4.element
    functionUses: 14
    functionsReached:
    - bs4.element.PageElement.setup
    - builder._replace_cdata_list_attribute_values
    - <builtin>.dict
    - builder.set_up_substitutions
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.Counter
    functionSourceFile: collections
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 541
    functionName: bs4.BeautifulSoup.pushTag
    functionSourceFile: ''
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19d9a0d0>
    - <ast.Constant object at 0x7f5d19d9aa60>
    - <ast.Dict object at 0x7f5d19d9a3a0>
    - <ast.Constant object at 0x7f5d19d9ab80>
    - <ast.Constant object at 0x7f5d19d9a100>
    argNames:
    - self
    - name
    - namespace
    - nsprefix
    - attrs
    - sourceline
    - sourcepos
    - kwattrs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 469
    functionName: bs4.BeautifulSoup.new_tag
    functionSourceFile: bs4
    functionUses: 2
    functionsReached:
    - kwattrs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwattrs.update
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a25b5e0>
    argNames:
    - self
    - base_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 492
    functionName: bs4.BeautifulSoup.string_container
    functionSourceFile: bs4
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a25b250>
    argNames:
    - self
    - s
    - subclass
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 508
    functionName: bs4.BeautifulSoup.new_string
    functionSourceFile: bs4
    functionUses: 3
    functionsReached:
    - bs4.BeautifulSoup.string_container
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 515
    functionName: bs4.BeautifulSoup.insert_before
    functionSourceFile: bs4
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 521
    functionName: bs4.BeautifulSoup.insert_after
    functionSourceFile: bs4
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f27d90>
    - <ast.Constant object at 0x7f5d19f272e0>
    argNames:
    - self
    - o
    - parent
    - most_recent_element
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 589
    functionName: bs4.BeautifulSoup.object_was_parsed
    functionSourceFile: bs4
    functionUses: 19
    functionsReached:
    - bs4.element.PageElement.setup
    - child._last_descendant
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup._linkage_fixer
    - parent.contents.append
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b4d4f0>
    - <ast.Constant object at 0x7f5d19b4d760>
    - <ast.Constant object at 0x7f5d19b4d1f0>
    - <ast.Constant object at 0x7f5d19b4deb0>
    - <ast.Constant object at 0x7f5d19b4d550>
    argNames:
    - self
    - parent
    - previous_element
    - next_element
    - previous_sibling
    - next_sibling
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 158
    functionName: bs4.element.PageElement.setup
    functionSourceFile: ''
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.setup
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parent.contents.append
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 617
    functionName: bs4.BeautifulSoup._linkage_fixer
    functionSourceFile: bs4
    functionUses: 20
    functionsReached:
    - child._last_descendant
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child._last_descendant
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a67a4c0>
    - <ast.Constant object at 0x7f5d1a67ac70>
    argNames:
    - self
    - name
    - nsprefix
    - inclusivePop
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 657
    functionName: bs4.BeautifulSoup._popToTag
    functionSourceFile: bs4
    functionUses: 1
    functionsReached:
    - collections.Counter.get
    - <builtin>.len
    - bs4.BeautifulSoup.popTag
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.Counter.get
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19d54f10>
    - <ast.Constant object at 0x7f5d19d54b20>
    argNames:
    - self
    - name
    - namespace
    - nsprefix
    - attrs
    - sourceline
    - sourcepos
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 691
    functionName: bs4.BeautifulSoup.handle_starttag
    functionSourceFile: bs4
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.setup
    - bs4.BeautifulSoup.string_container
    - bs4.BeautifulSoup.pushTag
    - child._last_descendant
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup.endData
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup._linkage_fixer
    - parent.contents.append
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a665e80>
    argNames:
    - self
    - name
    - nsprefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 729
    functionName: bs4.BeautifulSoup.handle_endtag
    functionSourceFile: bs4
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.setup
    - bs4.BeautifulSoup.string_container
    - bs4.BeautifulSoup._popToTag
    - <builtin>.range
    - bs4.BeautifulSoup.popTag
    - child._last_descendant
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup.endData
    - bs4.BeautifulSoup.object_was_parsed
    - collections.Counter.get
    - bs4.BeautifulSoup._linkage_fixer
    - parent.contents.append
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 739
    functionName: bs4.BeautifulSoup.handle_data
    functionSourceFile: bs4
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a0fc250>
    - <ast.Name object at 0x7f5d1a0fc2e0>
    - <ast.Constant object at 0x7f5d1a0fc070>
    argNames:
    - self
    - pretty_print
    - eventual_encoding
    - formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 743
    functionName: bs4.BeautifulSoup.decode
    functionSourceFile: bs4
    functionUses: 15
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 86
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 781
    functionName: bs4.BeautifulStoneSoup.__init__
    functionSourceFile: bs4
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19edbca0>
    - <ast.Constant object at 0x7f5d19edb2e0>
    argNames:
    - self
    - encoding
    - formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1731
    functionName: bs4.element.Tag.prettify
    functionSourceFile: bs4.element
    functionUses: 3
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.element.Tag.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - u.encode
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: bs4.builder
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - bs4.builder.register_treebuilders_from
    - this_module.builder_registry.register
    - <builtin>.setattr
    - bs4.builder.TreeBuilderRegistry.__init__
    - <builtin>.issubclass
    - <builtin>.getattr
    - collections.defaultdict
    - this_module.__all__.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: bs4.builder.TreeBuilderRegistry.__init__
    functionSourceFile: bs4.builder
    functionUses: 1
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict
    functionSourceFile: collections
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - treebuilder_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 41
    functionName: bs4.builder.TreeBuilderRegistry.register
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: features.reverse
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: features.pop
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict.get
    functionSourceFile: collections
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: candidate_set.intersection
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.builder.TreeBuilder
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.object
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Name object at 0x7f5d1a1e3a00>
    - <ast.Name object at 0x7f5d1a1e3c70>
    - <ast.Name object at 0x7f5d1a1e3460>
    - <ast.Name object at 0x7f5d1a1e38e0>
    argNames:
    - self
    - multi_valued_attributes
    - preserve_whitespace_tags
    - store_line_numbers
    - string_containers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 129
    functionName: bs4.builder.TreeBuilder.__init__
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - soup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 179
    functionName: bs4.builder.TreeBuilder.initialize_soup
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 187
    functionName: bs4.builder.TreeBuilder.reset
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 195
    functionName: bs4.builder.TreeBuilder.can_be_empty_element
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 218
    functionName: bs4.builder.TreeBuilder.feed
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1ad99ac0>
    - <ast.Constant object at 0x7f5d19ca7d30>
    - <ast.Constant object at 0x7f5d19ca7430>
    argNames:
    - self
    - markup
    - user_specified_encoding
    - document_declared_encoding
    - exclude_encodings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 229
    functionName: bs4.builder.TreeBuilder.prepare_markup
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fragment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 257
    functionName: bs4.builder.TreeBuilder.test_fragment_to_document
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 273
    functionName: bs4.builder.TreeBuilder.set_up_substitutions
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - tag_name
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 285
    functionName: bs4.builder.TreeBuilder._replace_cdata_list_attribute_values
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - tag_name.lower
    - <builtin>.list
    - <builtin>.isinstance
    - attrs.keys
    - nonwhitespace_re.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag_name.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.keys
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nonwhitespace_re.findall
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 330
    functionName: bs4.builder.SAXTreeBuilder.feed
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 333
    functionName: bs4.builder.SAXTreeBuilder.close
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 336
    functionName: bs4.builder.SAXTreeBuilder.startElement
    functionSourceFile: bs4.builder
    functionUses: 1
    functionsReached:
    - <builtin>.list
    - <builtin>.dict
    - attrs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.items
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 341
    functionName: bs4.builder.SAXTreeBuilder.endElement
    functionSourceFile: bs4.builder
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - nsTuple
    - nodeName
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 345
    functionName: bs4.builder.SAXTreeBuilder.startElementNS
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - bs4.builder.SAXTreeBuilder.startElement
    - <builtin>.list
    - <builtin>.dict
    - attrs.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - nsTuple
    - nodeName
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 349
    functionName: bs4.builder.SAXTreeBuilder.endElementNS
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - bs4.builder.SAXTreeBuilder.endElement
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prefix
    - nodeValue
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 354
    functionName: bs4.builder.SAXTreeBuilder.startPrefixMapping
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - prefix
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 358
    functionName: bs4.builder.SAXTreeBuilder.endPrefixMapping
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 363
    functionName: bs4.builder.SAXTreeBuilder.characters
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 366
    functionName: bs4.builder.SAXTreeBuilder.startDocument
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 369
    functionName: bs4.builder.SAXTreeBuilder.endDocument
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.builder.HTMLTreeBuilder
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 435
    functionName: bs4.builder.HTMLTreeBuilder.set_up_substitutions
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - http_equiv.lower
    - tag.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http_equiv.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - module
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 478
    functionName: bs4.builder.register_treebuilders_from
    functionSourceFile: bs4.builder
    functionUses: 1
    functionsReached:
    - this_module.builder_registry.register
    - <builtin>.setattr
    - <builtin>.issubclass
    - <builtin>.getattr
    - this_module.__all__.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: this_module.__all__.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: this_module.builder_registry.register
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - message_or_exception
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 494
    functionName: bs4.builder.ParserRejectedMarkup.__init__
    functionSourceFile: bs4.builder
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - <builtin>.super
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs4.builder._html5lib
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a110f40>
    - <ast.Constant object at 0x7f5d1a110f10>
    argNames:
    - self
    - markup
    - user_specified_encoding
    - document_declared_encoding
    - exclude_encodings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: bs4.builder._html5lib.HTML5TreeBuilder.prepare_markup
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: bs4.builder._html5lib.HTML5TreeBuilder.feed
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - parser.parse
    - warnings.warn
    - <builtin>.dict
    - html5lib.HTMLParser
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.HTMLParser
    functionSourceFile: html5lib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - namespaceHTMLElements
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 104
    functionName: bs4.builder._html5lib.HTML5TreeBuilder.create_treebuilder
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - os.path.exists
    - rejections.append
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - <builtin>.hasattr
    - collections.Counter
    - candidate_set.intersection
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - bs4.builder._html5lib.TreeBuilderForHtml5lib.__init__
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.BeautifulSoup.endData
    - features.pop
    - parent.contents.append
    - markup.decode
    - <builtin>.any
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - sys.stdin.read
    - features.reverse
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup.reset
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a019a00>
    - <ast.Constant object at 0x7f5d1a0195b0>
    argNames:
    - self
    - namespaceHTMLElements
    - soup
    - store_line_numbers
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 118
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.__init__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 1
    functionsReached:
    - sys.stdin.startswith
    - os.path.exists
    - rejections.append
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - <builtin>.hasattr
    - collections.Counter
    - candidate_set.intersection
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.BeautifulSoup.endData
    - features.pop
    - parent.contents.append
    - markup.decode
    - <builtin>.any
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - sys.stdin.read
    - features.reverse
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup.reset
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fragment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 111
    functionName: bs4.builder._html5lib.HTML5TreeBuilder.test_fragment_to_document
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 140
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.documentClass
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - bs4.element.PageElement.setup
    - bs4.BeautifulSoup.pushTag
    - html5lib.treebuilders._base.Node.__init__
    - bs4.builder._html5lib.Element.__init__
    - bs4.element.Tag.__init__
    - builder.set_up_substitutions
    - <builtin>.dict
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup.reset
    - collections.Counter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - element
    - soup
    - namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 267
    functionName: bs4.builder._html5lib.Element.__init__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 4
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - html5lib.treebuilders._base.Node.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 144
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.insertDoctype
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - bs4.element.PageElement.setup
    - child._last_descendant
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup._linkage_fixer
    - parent.contents.append
    - bs4.element.Doctype.for_name_and_ids
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - name
    - pub_id
    - system_id
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1091
    functionName: bs4.element.Doctype.for_name_and_ids
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 152
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.elementClass
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - html5lib.treebuilders._base.Node.__init__
    - bs4.builder._html5lib.Element.__init__
    - kwattrs.update
    - bs4.BeautifulSoup.new_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 165
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.commentClass
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - bs4.builder._html5lib.TextNode.__init__
    - html5lib.treebuilders._base.Node.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - element
    - soup
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 461
    functionName: bs4.builder._html5lib.TextNode.__init__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 2
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - html5lib.treebuilders._base.Node.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 168
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.fragmentClass
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - sys.stdin.startswith
    - os.path.exists
    - rejections.append
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - <builtin>.hasattr
    - collections.Counter
    - candidate_set.intersection
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - html5lib.treebuilders._base.Node.__init__
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - bs4.builder._html5lib.Element.__init__
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.BeautifulSoup.endData
    - features.pop
    - parent.contents.append
    - markup.decode
    - <builtin>.any
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - sys.stdin.read
    - features.reverse
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup.reset
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 176
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.appendChild
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.Tag.index
    - bs4.element.PageElement.insert
    - previous_child._last_descendant
    - <builtin>.list
    - bs4.element.PageElement.append
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.hasattr
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 490
    functionName: bs4.element.PageElement.append
    functionSourceFile: bs4.element
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.PageElement.insert
    - bs4.element.Tag.index
    - previous_child._last_descendant
    - <builtin>.list
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.hasattr
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 180
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.getDocument
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 183
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.getFragment
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders._base.TreeBuilder.getFragment
    - html5lib.treebuilders.base.TreeBuilder.getFragment
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.TreeBuilder.getFragment
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.TreeBuilder.getFragment
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 186
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.testSerializer
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - element.attrs.items
    - attributes.append
    - rv.append
    - m.group
    - <builtin>.sorted
    - <builtin>.list
    - re.compile
    - doctype_re.match
    - bs4.builder._html5lib.TreeBuilderForHtml5lib.testSerializer.serializeElement
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 9
    IfCount: 10
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a10b2e0>
    argNames:
    - element
    - indent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: bs4.builder._html5lib.TreeBuilderForHtml5lib.testSerializer.serializeElement
    functionSourceFile: bs4.builder._html5lib
    functionUses: 1
    functionsReached:
    - element.attrs.items
    - attributes.append
    - rv.append
    - m.group
    - <builtin>.sorted
    - <builtin>.list
    - doctype_re.match
    - bs4.builder._html5lib.TreeBuilderForHtml5lib.testSerializer.serializeElement
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctype_re.match
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.group
    functionSourceFile: <builtin>
    functionUses: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.attrs.items
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attributes.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 237
    functionName: bs4.builder._html5lib.AttrList.__init__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 240
    functionName: bs4.builder._html5lib.AttrList.__iter__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 242
    functionName: bs4.builder._html5lib.AttrList.__setitem__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - nonwhitespace_re.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 254
    functionName: bs4.builder._html5lib.AttrList.items
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: bs4.builder._html5lib.AttrList.keys
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 258
    functionName: bs4.builder._html5lib.AttrList.__len__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 260
    functionName: bs4.builder._html5lib.AttrList.__getitem__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: bs4.builder._html5lib.AttrList.__contains__
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.__init__
    functionSourceFile: html5lib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.__init__
    functionSourceFile: html5lib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 3
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 273
    functionName: bs4.builder._html5lib.Element.appendChild
    functionSourceFile: bs4.builder._html5lib
    functionUses: 1
    functionsReached:
    - bs4.element.PageElement.setup
    - old_element.replace_with
    - bs4.element.PageElement.extract
    - bs4.element.Tag.index
    - bs4.BeautifulSoup.string_container
    - child._last_descendant
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.element.PageElement._last_descendant
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup.new_string
    - parent.contents.append
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a201130>
    argNames:
    - self
    - _self_index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 351
    functionName: bs4.element.PageElement.extract
    functionSourceFile: bs4.element
    functionUses: 34
    functionsReached:
    - <builtin>.enumerate
    - bs4.element.Tag.index
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_element.replace_with
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a005b80>
    - <ast.Constant object at 0x7f5d1a005310>
    argNames:
    - self
    - is_initialized
    - accept_self
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 389
    functionName: bs4.element.PageElement._last_descendant
    functionSourceFile: bs4.element
    functionUses: 36
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: bs4.builder._html5lib.Element.getAttributes
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - bs4.builder._html5lib.AttrList.__init__
    - <builtin>.dict
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - attributes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 332
    functionName: bs4.builder._html5lib.Element.setAttributes
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.list
    - <builtin>.isinstance
    - attributes.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attributes.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.property
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.builder._html5lib.Element
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a23ccd0>
    argNames:
    - self
    - data
    - insertBefore
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 354
    functionName: bs4.builder._html5lib.Element.insertText
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - bs4.element.Tag.index
    - bs4.builder._html5lib.Element.insertBefore
    - child._last_descendant
    - <builtin>.hasattr
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - bs4.element.PageElement.insert
    - previous_child._last_descendant
    - html5lib.treebuilders._base.Node.__init__
    - old_node.replace_with
    - bs4.element.PageElement._last_descendant
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup.new_string
    - <builtin>.isinstance
    - <builtin>.min
    - parent.contents.append
    - bs4.element.PageElement.setup
    - old_element.replace_with
    - bs4.builder._html5lib.TextNode.__init__
    - bs4.element.PageElement.extract
    - bs4.builder._html5lib.Element.appendChild
    - <builtin>.list
    - html5lib.treebuilders._base.Node.setup
    - bs4.BeautifulSoup.object_was_parsed
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - node
    - refNode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 361
    functionName: bs4.builder._html5lib.Element.insertBefore
    functionSourceFile: bs4.builder._html5lib
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - bs4.element.PageElement.extract
    - bs4.element.PageElement.insert
    - bs4.element.Tag.index
    - previous_child._last_descendant
    - <builtin>.list
    - <builtin>.min
    - old_node.replace_with
    - bs4.element.PageElement._last_descendant
    - bs4.BeautifulSoup.new_string
    - <builtin>.hasattr
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1443
    functionName: bs4.element.Tag.index
    functionSourceFile: bs4.element
    functionUses: 35
    functionsReached:
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_node.replace_with
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 4
    IfCount: 14
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - position
    - new_child
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 408
    functionName: bs4.element.PageElement.insert
    functionSourceFile: bs4.element
    functionUses: 31
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.PageElement.insert
    - bs4.element.Tag.index
    - previous_child._last_descendant
    - <builtin>.list
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.hasattr
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - node
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 373
    functionName: bs4.builder._html5lib.Element.removeChild
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - node.element.extract
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.element.extract
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - new_parent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 376
    functionName: bs4.builder._html5lib.Element.reparentChildren
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - new_parent_element.contents.append
    - <builtin>.len
    - new_parent_element._last_descendant
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_parent_element._last_descendant
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_parent_element.contents.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 442
    functionName: bs4.builder._html5lib.Element.cloneNode
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.base.Node.__init__
    - html5lib.treebuilders._base.Node.__init__
    - bs4.builder._html5lib.Element.__init__
    - kwattrs.update
    - bs4.BeautifulSoup.new_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 449
    functionName: bs4.builder._html5lib.Element.hasContent
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 452
    functionName: bs4.builder._html5lib.Element.getNameTuple
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 466
    functionName: bs4.builder._html5lib.TextNode.cloneNode
    functionSourceFile: bs4.builder._html5lib
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.element
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.set
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - attr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: bs4.element._alias
    functionSourceFile: bs4.element
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: bs4.element._alias.alias
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached:
    - <builtin>.getattr
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1ae11400>
    - <ast.Constant object at 0x7f5d19f6b6a0>
    argNames:
    - cls
    - prefix
    - name
    - namespace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: bs4.element.NamespacedAttribute.__new__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - str.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: str.__new__
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - original_value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: bs4.element.CharsetMetaAttributeValue.__new__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - str.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 113
    functionName: bs4.element.CharsetMetaAttributeValue.encode
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.element.ContentMetaAttributeValue
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - original_value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: bs4.element.ContentMetaAttributeValue.__new__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - str.__new__
    - cls.CHARSET_RE.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.CHARSET_RE.search
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 143
    functionName: bs4.element.ContentMetaAttributeValue.encode
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 146
    functionName: bs4.element.ContentMetaAttributeValue.encode.rewrite
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.group
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - s
    - formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 199
    functionName: bs4.element.PageElement.format_string
    functionSourceFile: bs4.element
    functionUses: 16
    functionsReached:
    - bs4.formatter.HTMLFormatter.__init__
    - bs4.formatter.Formatter.substitute
    - <builtin>.isinstance
    - bs4.element.PageElement.formatter_for_name
    - bs4.formatter.XMLFormatter.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - formatter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 212
    functionName: bs4.element.PageElement.formatter_for_name
    functionSourceFile: bs4.element
    functionUses: 17
    functionsReached:
    - bs4.formatter.XMLFormatter.__init__
    - <builtin>.isinstance
    - bs4.formatter.HTMLFormatter.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: bs4.formatter.Formatter.substitute
    functionSourceFile: bs4.formatter
    functionUses: 18
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: bs4.formatter.XMLFormatter.__init__
    functionSourceFile: bs4.formatter
    functionUses: 19
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: bs4.formatter.HTMLFormatter.__init__
    functionSourceFile: bs4.formatter
    functionUses: 19
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: bs4.element.PageElement._is_xml
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.element.PageElement
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.property
    - <builtin>.object
    - bs4.element._alias
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a664640>
    - <ast.Name object at 0x7f5d1a664d00>
    argNames:
    - self
    - strip
    - types
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 259
    functionName: bs4.element.PageElement._all_strings
    functionSourceFile: bs4.element
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 267
    functionName: bs4.element.PageElement.stripped_strings
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement._all_strings
    - bs4.element.NavigableString._all_strings
    - <builtin>.type
    - value.strip
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a0b3e20>
    - <ast.Attribute object at 0x7f5d1a0b38b0>
    argNames:
    - self
    - strip
    - types
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 990
    functionName: bs4.element.NavigableString._all_strings
    functionSourceFile: bs4.element
    functionUses: 2
    functionsReached:
    - <builtin>.len
    - value.strip
    - <builtin>.isinstance
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a664f70>
    - <ast.Constant object at 0x7f5d1a664a90>
    - <ast.Name object at 0x7f5d1a6641f0>
    argNames:
    - self
    - separator
    - strip
    - types
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 275
    functionName: bs4.element.PageElement.get_text
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement._all_strings
    - bs4.element.NavigableString._all_strings
    - <builtin>.type
    - separator.join
    - value.strip
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: separator.join
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 299
    functionName: bs4.element.PageElement.replace_with
    functionSourceFile: bs4.element
    functionUses: 21
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.Tag.index
    - bs4.element.PageElement.insert
    - previous_child._last_descendant
    - <builtin>.list
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.hasattr
    - <builtin>.any
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 322
    functionName: bs4.element.PageElement.unwrap
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.Tag.index
    - bs4.element.PageElement.insert
    - previous_child._last_descendant
    - <builtin>.list
    - <builtin>.hasattr
    - <builtin>.min
    - <builtin>.reversed
    - bs4.element.PageElement._last_descendant
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.reversed
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - wrap_inside
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 340
    functionName: bs4.element.PageElement.wrap
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.Tag.index
    - bs4.element.PageElement.insert
    - previous_child._last_descendant
    - wrap_inside.append
    - <builtin>.list
    - bs4.element.PageElement.replace_with
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.hasattr
    - <builtin>.any
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: wrap_inside.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: previous_child._last_descendant
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tags
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 497
    functionName: bs4.element.PageElement.extend
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.PageElement.insert
    - bs4.element.Tag.index
    - previous_child._last_descendant
    - <builtin>.list
    - bs4.element.PageElement.append
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.hasattr
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 510
    functionName: bs4.element.PageElement.insert_before
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - predecessor.extract
    - bs4.element.PageElement.extract
    - bs4.element.Tag.index
    - bs4.element.PageElement.insert
    - previous_child._last_descendant
    - <builtin>.list
    - <builtin>.hasattr
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.enumerate
    - <builtin>.any
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: predecessor.extract
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 532
    functionName: bs4.element.PageElement.insert_after
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.PageElement.insert
    - bs4.element.Tag.index
    - previous_child._last_descendant
    - <builtin>.list
    - <builtin>.min
    - bs4.element.PageElement._last_descendant
    - <builtin>.any
    - <builtin>.hasattr
    - successor.extract
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: successor.extract
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b71a00>
    - <ast.Dict object at 0x7f5d19b71520>
    - <ast.Constant object at 0x7f5d19b71040>
    argNames:
    - self
    - name
    - attrs
    - text
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 558
    functionName: bs4.element.PageElement.find_next
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - bs4.element.PageElement._find_one
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - bs4.element.PageElement.find_next_siblings
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - bs4.element.PageElement.find_previous_siblings
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.PageElement.find_all_previous
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - bs4.element.PageElement.find_all_next
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - method
    - name
    - attrs
    - text
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 773
    functionName: bs4.element.PageElement._find_one
    functionSourceFile: bs4.element
    functionUses: 4
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - bs4.element.PageElement.find_next_siblings
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - bs4.element.PageElement.find_previous_siblings
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.PageElement.find_all_previous
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - bs4.element.PageElement.find_all_next
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19e7e520>
    - <ast.Dict object at 0x7f5d19e7e340>
    - <ast.Constant object at 0x7f5d19e7e130>
    - <ast.Constant object at 0x7f5d19e7e6d0>
    argNames:
    - self
    - name
    - attrs
    - text
    - limit
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 575
    functionName: bs4.element.PageElement.find_all_next
    functionSourceFile: bs4.element
    functionUses: 5
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 2
    IfCount: 9
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - name
    - attrs
    - text
    - limit
    - generator
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 780
    functionName: bs4.element.PageElement._find_all
    functionSourceFile: bs4.element
    functionUses: 15
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19e7ef70>
    - <ast.Dict object at 0x7f5d19e7e2b0>
    - <ast.Constant object at 0x7f5d19b52ac0>
    argNames:
    - self
    - name
    - attrs
    - text
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 594
    functionName: bs4.element.PageElement.find_next_sibling
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - bs4.element.PageElement._find_one
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - bs4.element.PageElement.find_next_siblings
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - bs4.element.PageElement.find_previous_siblings
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.PageElement.find_all_previous
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - bs4.element.PageElement.find_all_next
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b52fa0>
    - <ast.Dict object at 0x7f5d19b52d90>
    - <ast.Constant object at 0x7f5d19b525e0>
    - <ast.Constant object at 0x7f5d19b52700>
    argNames:
    - self
    - name
    - attrs
    - text
    - limit
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 612
    functionName: bs4.element.PageElement.find_next_siblings
    functionSourceFile: bs4.element
    functionUses: 5
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b52c70>
    - <ast.Dict object at 0x7f5d19b52e50>
    - <ast.Constant object at 0x7f5d19b528e0>
    argNames:
    - self
    - name
    - attrs
    - text
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 633
    functionName: bs4.element.PageElement.find_previous
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - bs4.element.PageElement._find_one
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - bs4.element.PageElement.find_next_siblings
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - bs4.element.PageElement.find_previous_siblings
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.PageElement.find_all_previous
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - bs4.element.PageElement.find_all_next
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a02a310>
    - <ast.Dict object at 0x7f5d1a02a100>
    - <ast.Constant object at 0x7f5d1a02a340>
    - <ast.Constant object at 0x7f5d1a02a6a0>
    argNames:
    - self
    - name
    - attrs
    - text
    - limit
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 651
    functionName: bs4.element.PageElement.find_all_previous
    functionSourceFile: bs4.element
    functionUses: 5
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a02ab50>
    - <ast.Dict object at 0x7f5d1a02a820>
    - <ast.Constant object at 0x7f5d1a02ae80>
    argNames:
    - self
    - name
    - attrs
    - text
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 672
    functionName: bs4.element.PageElement.find_previous_sibling
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - bs4.element.PageElement._find_one
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - bs4.element.PageElement.find_next_siblings
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - bs4.element.PageElement.find_previous_siblings
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.PageElement.find_all_previous
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - bs4.element.PageElement.find_all_next
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a02a940>
    - <ast.Dict object at 0x7f5d1a02acd0>
    - <ast.Constant object at 0x7f5d1a02afd0>
    - <ast.Constant object at 0x7f5d1a02aa00>
    argNames:
    - self
    - name
    - attrs
    - text
    - limit
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 690
    functionName: bs4.element.PageElement.find_previous_siblings
    functionSourceFile: bs4.element
    functionUses: 5
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a1804f0>
    - <ast.Dict object at 0x7f5d1a180fd0>
    argNames:
    - self
    - name
    - attrs
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 711
    functionName: bs4.element.PageElement.find_parent
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - bs4.element.PageElement.find_parents
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a0c4490>
    - <ast.Dict object at 0x7f5d1a0c4580>
    - <ast.Constant object at 0x7f5d1a0c42b0>
    argNames:
    - self
    - name
    - attrs
    - limit
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 734
    functionName: bs4.element.PageElement.find_parents
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 754
    functionName: bs4.element.PageElement.next
    functionSourceFile: bs4.element
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 763
    functionName: bs4.element.PageElement.previous
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f95220>
    - <ast.Dict object at 0x7f5d19f95430>
    - <ast.Constant object at 0x7f5d19f95730>
    argNames:
    - self
    - name
    - attrs
    - text
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1985
    functionName: bs4.element.SoupStrainer.__init__
    functionSourceFile: bs4.element
    functionUses: 17
    functionsReached:
    - bs4.element.SoupStrainer._normalize_search_value
    - <builtin>.str
    - <builtin>.list
    - new_value.append
    - attrs.update
    - attrs.copy
    - attrs.items
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7f5d19ddf5e0>
    argNames:
    - self
    - source
    - result
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2242
    functionName: bs4.element.ResultSet.__init__
    functionSourceFile: bs4.element
    functionUses: 18
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.count
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.split
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 2123
    functionName: bs4.element.SoupStrainer.search
    functionSourceFile: bs4.element
    functionUses: 16
    functionsReached:
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised:
    - Exception
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: results.append
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 835
    functionName: bs4.element.PageElement.next_elements
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 846
    functionName: bs4.element.PageElement.next_siblings
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 858
    functionName: bs4.element.PageElement.previous_elements
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 869
    functionName: bs4.element.PageElement.previous_siblings
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 881
    functionName: bs4.element.PageElement.parents
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 892
    functionName: bs4.element.PageElement.decomposed
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 901
    functionName: bs4.element.PageElement.nextGenerator
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 904
    functionName: bs4.element.PageElement.nextSiblingGenerator
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 907
    functionName: bs4.element.PageElement.previousGenerator
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 910
    functionName: bs4.element.PageElement.previousSiblingGenerator
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 913
    functionName: bs4.element.PageElement.parentGenerator
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 932
    functionName: bs4.element.NavigableString.__new__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - str.__new__
    - u.setup
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: u.setup
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 947
    functionName: bs4.element.NavigableString.__copy__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - <builtin>.min
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix
    - bs4.element.PageElement._last_descendant
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string
    - <builtin>.list
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string
    - bs4.element.Tag.index
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders._base.Node.next_sibling.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix
    - bs4.element.PageElement.insert
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string
    - bs4.testing.SoupTest.default_builder
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string
    - html5lib.treebuilders._base.Node.next_sibling.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix
    - <builtin>.type
    - bs4.element.NavigableString.name
    - <builtin>.any
    - html5lib.treebuilders._base.Node.next_sibling.name
    - html5lib.treebuilders.base.Node.next_sibling.string
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.name.string
    - html5lib.treebuilders.base.Node.next_sibling.name.string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.prefix
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.string.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.prefix.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.name.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.string.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.name.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.prefix.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.name.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling
    functionSourceFile: html5lib
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.prefix.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.prefix.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 986
    functionName: bs4.element.NavigableString.name
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.name
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.string.prefix
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.string
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 953
    functionName: bs4.element.NavigableString.__getnewargs__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 956
    functionName: bs4.element.NavigableString.__getattr__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19cca130>
    argNames:
    - self
    - formatter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 967
    functionName: bs4.element.NavigableString.output_ready
    functionSourceFile: bs4.element
    functionUses: 14
    functionsReached:
    - <builtin>.super
    - bs4.formatter.HTMLFormatter.__init__
    - bs4.element.PageElement.format_string
    - bs4.formatter.Formatter.substitute
    - bs4.element.PageElement.formatter_for_name
    - bs4.formatter.XMLFormatter.__init__
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.strip
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.element.NavigableString
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a665370>
    argNames:
    - self
    - formatter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1044
    functionName: bs4.element.PreformattedString.output_ready
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - bs4.formatter.HTMLFormatter.__init__
    - bs4.element.PageElement.format_string
    - bs4.formatter.Formatter.substitute
    - bs4.element.PageElement.formatter_for_name
    - bs4.formatter.XMLFormatter.__init__
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder._replace_cdata_list_attribute_values
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: builder.set_up_substitutions
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.element.Tag
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.property
    - bs4.element._alias
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1266
    functionName: bs4.element.Tag.__copy__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - bs4.element._alias.alias
    - <builtin>.setattr
    - <builtin>.type
    - <builtin>.getattr
    - clone.append
    - child.__copy__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: child.__copy__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: clone.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1285
    functionName: bs4.element.Tag.is_empty_element
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1324
    functionName: bs4.element.Tag.string
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - bs4.element.Tag.clear
    - <builtin>.len
    - bs4.element.PageElement.extract
    - bs4.element.PageElement.insert
    - bs4.element.Tag.index
    - previous_child._last_descendant
    - element.extract
    - <builtin>.list
    - bs4.element.PageElement.append
    - <builtin>.hasattr
    - string.__class__
    - <builtin>.min
    - element.decompose
    - bs4.element.PageElement._last_descendant
    - <builtin>.enumerate
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f27220>
    argNames:
    - self
    - decompose
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1388
    functionName: bs4.element.Tag.clear
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached:
    - element.extract
    - element.decompose
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.__class__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a794880>
    - <ast.Attribute object at 0x7f5d1a794eb0>
    argNames:
    - self
    - strip
    - types
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1330
    functionName: bs4.element.Tag._all_strings
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1368
    functionName: bs4.element.Tag.decompose
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - bs4.element.PageElement.extract
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.__dict__.clear
    - html5lib.treebuilders.base.Node.next_sibling.next_element.__dict__.clear
    - bs4.element.Tag.index
    - html5lib.treebuilders._base.Node.next_sibling.next_element.__dict__.clear
    - html5lib.treebuilders.base.Node.next_sibling.__dict__.clear
    - html5lib.treebuilders._base.Node.next_sibling.__dict__.clear
    - bs4.element.PageElement._last_descendant
    - <builtin>.enumerate
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.__dict__.clear
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.__dict__.clear
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.next_element.__dict__.clear
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.__dict__.clear
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.__dict__.clear
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.__dict__.clear
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.next_element.__dict__.clear
    functionSourceFile: html5lib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.decompose
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: element.extract
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1405
    functionName: bs4.element.Tag.smooth
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - a.replace_with
    - b.extract
    - <builtin>.reversed
    - marked.append
    - <builtin>.enumerate
    - a.smooth
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.smooth
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: marked.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: b.extract
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.replace_with
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f71f70>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1456
    functionName: bs4.element.Tag.get
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a25bfd0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1462
    functionName: bs4.element.Tag.get_attribute_list
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - bs4.element.Tag.get
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1476
    functionName: bs4.element.Tag.has_attr
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1480
    functionName: bs4.element.Tag.__hash__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1483
    functionName: bs4.element.Tag.__getitem__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1488
    functionName: bs4.element.Tag.__iter__
    functionSourceFile: bs4.element
    functionUses: 14
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1492
    functionName: bs4.element.Tag.__len__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1496
    functionName: bs4.element.Tag.__contains__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1499
    functionName: bs4.element.Tag.__bool__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1503
    functionName: bs4.element.Tag.__setitem__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1508
    functionName: bs4.element.Tag.__delitem__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1512
    functionName: bs4.element.Tag.__call__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.Tag.find_all
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19ed60a0>
    - <ast.Dict object at 0x7f5d19ed60d0>
    - <ast.Constant object at 0x7f5d19ed6eb0>
    - <ast.Constant object at 0x7f5d19ed6d90>
    - <ast.Constant object at 0x7f5d19ed6be0>
    argNames:
    - self
    - name
    - attrs
    - recursive
    - text
    - limit
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1847
    functionName: bs4.element.Tag.find_all
    functionSourceFile: bs4.element
    functionUses: 3
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1518
    functionName: bs4.element.Tag.__getattr__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - <builtin>.dict
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - tag.endswith
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - tag.startswith
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - warnings.warn
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.Tag.find_all
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - bs4.element.Tag.find
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19ed69a0>
    - <ast.Dict object at 0x7f5d19ed6a00>
    - <ast.Constant object at 0x7f5d19ed6850>
    - <ast.Constant object at 0x7f5d19ed6b50>
    argNames:
    - self
    - name
    - attrs
    - recursive
    - text
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1822
    functionName: bs4.element.Tag.find
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached:
    - name.split
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - bs4.element.SoupStrainer.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - name.count
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - attrs.copy
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - bs4.element.PageElement._find_all
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - results.append
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - attrs.items
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.next
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - <builtin>.super
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - bs4.element.Tag.find_all
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - attrs.update
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - bs4.element.SoupStrainer.__init__
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - bs4.element.ResultSet.__init__
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - bs4.element.SoupStrainer.search_tag
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1536
    functionName: bs4.element.Tag.__eq__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.len
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1553
    functionName: bs4.element.Tag.__ne__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19cad850>
    argNames:
    - self
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1558
    functionName: bs4.element.Tag.__repr__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.element.Tag.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - u.encode
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 10
    IfCount: 16
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a8d6f70>
    - <ast.Name object at 0x7f5d1a8d6bb0>
    - <ast.Constant object at 0x7f5d1a8d6a00>
    argNames:
    - self
    - indent_level
    - eventual_encoding
    - formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1616
    functionName: bs4.element.Tag.decode
    functionSourceFile: bs4.element
    functionUses: 13
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - bs4.formatter.Formatter.attributes
    - s.append
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1574
    functionName: bs4.element.Tag.__unicode__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1578
    functionName: bs4.element.Tag.__str__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.element.Tag.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - u.encode
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: u.encode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: bs4.formatter.Formatter.attributes
    functionSourceFile: bs4.formatter
    functionUses: 14
    functionsReached:
    - <builtin>.sorted
    - tag.attrs.items
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.encode
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 101
    functionName: bs4.formatter.Formatter.attribute_value
    functionSourceFile: bs4.formatter
    functionUses: 14
    functionsReached:
    - bs4.formatter.Formatter.substitute
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2463
    functionName: bs4.dammit.EntitySubstitution.quoted_attribute_value
    functionSourceFile: bs4.dammit
    functionUses: 16
    functionsReached:
    - value.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.append
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - indent_level
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1717
    functionName: bs4.element.Tag._should_pretty_print
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 5
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19edb5b0>
    - <ast.Name object at 0x7f5d19f5f730>
    - <ast.Constant object at 0x7f5d19f5fd00>
    argNames:
    - self
    - indent_level
    - eventual_encoding
    - formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1746
    functionName: bs4.element.Tag.decode_contents
    functionSourceFile: bs4.element
    functionUses: 13
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - <builtin>.iter
    - bs4.element.NavigableString.output_ready
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.append
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.strip
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19ed2760>
    - <ast.Name object at 0x7f5d19ed2970>
    - <ast.Constant object at 0x7f5d19ed2e80>
    argNames:
    - self
    - indent_level
    - encoding
    - formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1792
    functionName: bs4.element.Tag.encode_contents
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - <builtin>.iter
    - bs4.element.NavigableString.output_ready
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - contents.encode
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contents.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f5d19ed2e50>
    - <ast.Constant object at 0x7f5d19ed2940>
    - <ast.Constant object at 0x7f5d19ed2520>
    argNames:
    - self
    - encoding
    - prettyPrint
    - indentLevel
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1812
    functionName: bs4.element.Tag.renderContents
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - attrs.append
    - bs4.formatter.Formatter.attribute_value
    - text.strip
    - bs4.formatter.Formatter.substitute
    - bs4.element.Tag.encode_contents
    - tag.attrs.items
    - bs4.element.Tag._should_pretty_print
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - contents.encode
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - val.encode
    - bs4.formatter.XMLFormatter.__init__
    - bs4.BeautifulSoup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - <builtin>.sorted
    - <builtin>.list
    - bs4.element.PageElement.formatter_for_name
    - bs4.element.Tag.__iter__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1874
    functionName: bs4.element.Tag.children
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1883
    functionName: bs4.element.Tag.descendants
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19eff790>
    argNames:
    - self
    - selector
    - namespaces
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 11
    functionLinenumber: 1898
    functionName: bs4.element.Tag.select_one
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - token.group
    - soupsieve.css_match.CSSMatch.__init__
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - <builtin>.float
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - soupsieve.css_match.Inputs.validate_year
    - <builtin>.next
    - sel.nth.extend
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_match.SoupSieve.select
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_content_string
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - sub_sel.attributes.append
    - soupsieve.css_match._DocumentNav.is_doc
    - kwargs.get
    - <builtin>.str
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_attributes
    - <builtin>.ord
    - sel.selectors.append
    - <builtin>.list
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - soupsieve.css_match._DocumentNav.has_html_ns
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - bs4.element.Tag.select
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - soupsieve.select
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - bs4.element.ResultSet.__init__
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19efff40>
    - <ast.Constant object at 0x7f5d19effee0>
    argNames:
    - self
    - selector
    - namespaces
    - limit
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 1919
    functionName: bs4.element.Tag.select
    functionSourceFile: bs4.element
    functionUses: 1
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - token.group
    - soupsieve.css_match.CSSMatch.__init__
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - <builtin>.float
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - soupsieve.css_match.Inputs.validate_year
    - <builtin>.next
    - sel.nth.extend
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_match.SoupSieve.select
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_content_string
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - sub_sel.attributes.append
    - soupsieve.css_match._DocumentNav.is_doc
    - kwargs.get
    - <builtin>.str
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_attributes
    - <builtin>.ord
    - sel.selectors.append
    - <builtin>.list
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - soupsieve.css_match._DocumentNav.has_html_ns
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - soupsieve.select
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - bs4.element.ResultSet.__init__
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1956
    functionName: bs4.element.Tag.childGenerator
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1960
    functionName: bs4.element.Tag.recursiveChildGenerator
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1964
    functionName: bs4.element.Tag.has_key
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached:
    - bs4.element.Tag.has_attr
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2023
    functionName: bs4.element.SoupStrainer._normalize_search_value
    functionSourceFile: bs4.element
    functionUses: 21
    functionsReached:
    - bs4.element.SoupStrainer._normalize_search_value
    - <builtin>.str
    - new_value.append
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.copy
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrs.update
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    functionSourceFile: html5lib
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_value.append
    functionSourceFile: <builtin>
    functionUses: 62
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2053
    functionName: bs4.element.SoupStrainer.__str__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f1d250>
    - <ast.Dict object at 0x7f5d19f1d940>
    argNames:
    - self
    - markup_name
    - markup_attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 2060
    functionName: bs4.element.SoupStrainer.search_tag
    functionSourceFile: bs4.element
    functionUses: 17
    functionsReached:
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - new_value.append
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.name
    - bs4.element.PageElement.extract
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - <builtin>.str
    - html5lib.treebuilders._base.Node.next_sibling.string.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - <builtin>.set
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.search
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - bs4.element.PageElement.replace_with
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    - bs4.element.SoupStrainer._matches
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders._base.Node.next_sibling.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.get
    - <builtin>.len
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    - html5lib.treebuilders.base.Node.next_sibling.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.string.name.get
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders.base.Node.next_sibling.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    - html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    - html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    - html5lib.treebuilders.base.Node.next_sibling.string.get
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 1
    IfCount: 15
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19ce33d0>
    argNames:
    - self
    - markup
    - match_against
    - already_tried
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2156
    functionName: bs4.element.SoupStrainer._matches
    functionSourceFile: bs4.element
    functionUses: 18
    functionsReached:
    - bs4.element.SoupStrainer._matches
    - bs4.element.Tag.index
    - html5lib.treebuilders.base.Node.next_sibling.name.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders._base.Node.next_sibling
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - html5lib.treebuilders.base.Node.next_sibling.prefix.name.string
    - <builtin>.set
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name
    - <builtin>.hasattr
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix
    - already_tried.add
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - html5lib.treebuilders._base.Node.next_sibling.search
    - <builtin>.len
    - bs4.element.PageElement.insert
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    - previous_child._last_descendant
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    - html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    - new_value.append
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name
    - html5lib.treebuilders.base.Node.next_sibling
    - bs4.element.PageElement._last_descendant
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string
    - <builtin>.isinstance
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    - bs4.element.SoupStrainer._normalize_search_value
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name
    - <builtin>.str
    - bs4.element.PageElement.replace_with
    - <builtin>.min
    - html5lib.treebuilders._base.Node.next_sibling.string.name.search
    - html5lib.treebuilders.base.Node.next_sibling.search
    - <builtin>.id
    - <builtin>.any
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    - html5lib.treebuilders.base.Node.next_sibling.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    - bs4.element.PageElement.extract
    - html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    - <builtin>.list
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    - <builtin>.enumerate
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element
    - html5lib.treebuilders._base.Node.next_sibling.string.name
    - html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.prefix.name.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.name.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.name.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.name.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.string.get
    functionSourceFile: html5lib
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.id
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: already_tried.add
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.name.string.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.prefix.string.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.prefix.string.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.string.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.string.prefix.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.string.prefix.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.prefix.string.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.string.name.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html5lib.treebuilders.base.Node.next_sibling.previous_element.next_element.name.string.prefix.search
    functionSourceFile: html5lib
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2251
    functionName: bs4.element.ResultSet.__getattr__
    functionSourceFile: bs4.element
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: bs4.formatter
    functionSourceFile: bs4.formatter
    functionUses: 0
    functionsReached:
    - bs4.formatter.HTMLFormatter.__init__
    - bs4.formatter.Formatter._default
    - bs4.formatter.XMLFormatter.__init__
    - <builtin>.set
    - bs4.formatter.Formatter.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.formatter.Formatter
    functionSourceFile: bs4.formatter
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - language
    - value
    - kwarg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: bs4.formatter.Formatter._default
    functionSourceFile: bs4.formatter
    functionUses: 2
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b71580>
    - <ast.Constant object at 0x7f5d19b71a90>
    - <ast.Constant object at 0x7f5d19b71c70>
    - <ast.Constant object at 0x7f5d19b71400>
    - <ast.Constant object at 0x7f5d19b71940>
    argNames:
    - self
    - language
    - entity_substitution
    - void_element_close_prefix
    - cdata_containing_tags
    - empty_attributes_are_booleans
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: bs4.formatter.Formatter.__init__
    functionSourceFile: bs4.formatter
    functionUses: 1
    functionsReached:
    - bs4.formatter.Formatter._default
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tag.attrs.items
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.dammit
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - xml_encoding.encode
    - html_meta.encode
    - re.compile
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: bs4.dammit.chardet_dammit
    functionSourceFile: bs4.dammit
    functionUses: 1
    functionsReached:
    - cchardet.detect
    - <builtin>.isinstance
    - chardet.detect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cchardet.detect
    functionSourceFile: cchardet
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chardet.detect
    functionSourceFile: chardet
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html_meta.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml_encoding.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2313
    functionName: bs4.dammit.EntitySubstitution._populate_class_variables
    functionSourceFile: bs4.dammit
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - html.entities.codepoint2name.items
    - <builtin>.ord
    - <builtin>.sorted
    - <builtin>.list
    - short_entities.add
    - re.compile
    - html.entities.html5.items
    - collections.defaultdict
    - <builtin>.set
    - <builtin>.chr
    - collections.defaultdict.values
    - name_with_semicolon.endswith
    - <builtin>.all
    - particles.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.entities.html5.items
    functionSourceFile: html
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name_with_semicolon.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 81
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: short_entities.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: particles.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.defaultdict.values
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.entities.codepoint2name.items
    functionSourceFile: html
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.chr
    functionSourceFile: <builtin>
    functionUses: 79
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: bs4.dammit.EntitySubstitution
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - bs4.dammit.EntitySubstitution._populate_class_variables
    - <builtin>.len
    - html.entities.codepoint2name.items
    - <builtin>.ord
    - <builtin>.sorted
    - <builtin>.list
    - re.compile
    - short_entities.add
    - html.entities.html5.items
    - collections.defaultdict
    - <builtin>.set
    - <builtin>.chr
    - collections.defaultdict.values
    - name_with_semicolon.endswith
    - <builtin>.all
    - particles.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - matchobj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2449
    functionName: bs4.dammit.EntitySubstitution._substitute_html_entity
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - matchobj.group
    - cls.CHARACTER_TO_HTML_ENTITY.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: matchobj.group
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.CHARACTER_TO_HTML_ENTITY.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - matchobj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2456
    functionName: bs4.dammit.EntitySubstitution._substitute_xml_entity
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - matchobj.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.replace
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b42cd0>
    argNames:
    - cls
    - value
    - make_quoted_attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2500
    functionName: bs4.dammit.EntitySubstitution.substitute_xml
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - cls.AMPERSAND_OR_BRACKET.sub
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - value.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.AMPERSAND_OR_BRACKET.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b428e0>
    argNames:
    - cls
    - value
    - make_quoted_attribute
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2521
    functionName: bs4.dammit.EntitySubstitution.substitute_xml_containing_entities
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - cls.BARE_AMPERSAND_OR_BRACKET.sub
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - value.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.BARE_AMPERSAND_OR_BRACKET.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2543
    functionName: bs4.dammit.EntitySubstitution.substitute_html
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - cls.CHARACTER_TO_HTML_ENTITY_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.CHARACTER_TO_HTML_ENTITY_RE.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a664640>
    - <ast.Constant object at 0x7f5d1a6644c0>
    - <ast.Constant object at 0x7f5d1a664ac0>
    - <ast.Constant object at 0x7f5d1a664f40>
    - <ast.Constant object at 0x7f5d1a664370>
    argNames:
    - self
    - markup
    - known_definite_encodings
    - is_html
    - exclude_encodings
    - user_encodings
    - override_encodings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2587
    functionName: bs4.dammit.EncodingDetector.__init__
    functionSourceFile: bs4.dammit
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - x.lower
    - <builtin>.list
    - <builtin>.set
    - bs4.dammit.EncodingDetector.strip_byte_order_mark
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2695
    functionName: bs4.dammit.EncodingDetector.strip_byte_order_mark
    functionSourceFile: bs4.dammit
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - encoding
    - tried
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2634
    functionName: bs4.dammit.EncodingDetector._usable
    functionSourceFile: bs4.dammit
    functionUses: 1
    functionsReached:
    - tried.add
    - encoding.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoding.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tried.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 7
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2651
    functionName: bs4.dammit.EncodingDetector.encodings
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.int
    - bs4.dammit.EncodingDetector._usable
    - bs4.dammit.EncodingDetector.find_declared_encoding
    - chardet.detect
    - cchardet.detect
    - tried.add
    - <builtin>.max
    - encoding.lower
    - declared_encoding.lower
    - html_re.search
    - bs4.dammit.chardet_dammit
    - <builtin>.set
    - declared_encoding.decode
    - xml_re.search
    - declared_encoding_match.groups
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a201430>
    - <ast.Constant object at 0x7f5d1a201640>
    argNames:
    - cls
    - markup
    - is_html
    - search_entire_document
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2725
    functionName: bs4.dammit.EncodingDetector.find_declared_encoding
    functionSourceFile: bs4.dammit
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.int
    - <builtin>.max
    - declared_encoding.lower
    - html_re.search
    - declared_encoding.decode
    - xml_re.search
    - declared_encoding_match.groups
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml_re.search
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html_re.search
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: declared_encoding_match.groups
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: declared_encoding.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: declared_encoding.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 8
    argDefaultValues:
    - <ast.List object at 0x7f5d19b71dc0>
    - <ast.Constant object at 0x7f5d19b71130>
    - <ast.Constant object at 0x7f5d19b710d0>
    - <ast.List object at 0x7f5d19b71d30>
    - <ast.Constant object at 0x7f5d19b71bb0>
    - <ast.Constant object at 0x7f5d19b71f40>
    argNames:
    - self
    - markup
    - known_definite_encodings
    - smart_quotes_to
    - is_html
    - exclude_encodings
    - user_encodings
    - override_encodings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 2784
    functionName: bs4.dammit.UnicodeDammit.__init__
    functionSourceFile: bs4.dammit
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - bs4.dammit.EncodingDetector.__init__
    - bs4.dammit.UnicodeDammit.find_codec
    - <builtin>.str
    - x.lower
    - bs4.dammit.UnicodeDammit._convert_from
    - <builtin>.list
    - re.compile
    - bs4.dammit.UnicodeDammit._codec
    - codecs.lookup
    - value.lower
    - bs4.dammit.UnicodeDammit._to_unicode
    - smart_quotes_compiled.sub
    - <builtin>.set
    - logging.getLogger
    - bs4.dammit.EncodingDetector.strip_byte_order_mark
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logging.getLogger
    functionSourceFile: logging
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d18710190>
    argNames:
    - self
    - proposed
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 2889
    functionName: bs4.dammit.UnicodeDammit._convert_from
    functionSourceFile: bs4.dammit
    functionUses: 2
    functionsReached:
    - bs4.dammit.UnicodeDammit.find_codec
    - <builtin>.str
    - re.compile
    - codecs.lookup
    - value.lower
    - bs4.dammit.UnicodeDammit._to_unicode
    - smart_quotes_compiled.sub
    - bs4.dammit.UnicodeDammit._codec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - match
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2872
    functionName: bs4.dammit.UnicodeDammit._sub_ms_char
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - match.group
    - sub.encode
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sub.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - charset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2936
    functionName: bs4.dammit.UnicodeDammit.find_codec
    functionSourceFile: bs4.dammit
    functionUses: 3
    functionsReached:
    - value.lower
    - bs4.dammit.UnicodeDammit._codec
    - codecs.lookup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: smart_quotes_compiled.sub
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d18707f40>
    argNames:
    - self
    - data
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2920
    functionName: bs4.dammit.UnicodeDammit._to_unicode
    functionSourceFile: bs4.dammit
    functionUses: 3
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 2928
    functionName: bs4.dammit.UnicodeDammit.declared_html_encoding
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - charset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 2952
    functionName: bs4.dammit.UnicodeDammit._codec
    functionSourceFile: bs4.dammit
    functionUses: 4
    functionsReached:
    - codecs.lookup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.lookup
    functionSourceFile: codecs
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 4
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d185145e0>
    - <ast.Constant object at 0x7f5d18514610>
    argNames:
    - cls
    - in_bytes
    - main_encoding
    - embedded_encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 3273
    functionName: bs4.dammit.UnicodeDammit.detwingle
    functionSourceFile: bs4.dammit
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - byte_chunks.append
    - embedded_encoding.replace
    - <builtin>.ord
    - main_encoding.lower
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: embedded_encoding.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: main_encoding.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: byte_chunks.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soupsieve
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a0d8760>
    - <ast.Constant object at 0x7f5d1a0d8ac0>
    argNames:
    - pattern
    - namespaces
    - flags
    - custom
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 46
    functionName: soupsieve.compile
    functionSourceFile: soupsieve
    functionUses: 9
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - m.start
    - sel.nth.extend
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - typing.cast.group
    - custom.items
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - selector.startswith
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - arg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 150
    functionName: soupsieve.css_types.Namespaces.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 10
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - arg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 168
    functionName: soupsieve.css_types.CustomSelectors.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 10
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - pattern
    - namespaces
    - custom
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 205
    functionName: soupsieve.css_parser._cached_css_compile
    functionSourceFile: soupsieve.css_parser
    functionUses: 10
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - m.start
    - sel.nth.extend
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - typing.cast.group
    - custom.items
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - selector.startswith
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: soupsieve.purge
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached:
    - soupsieve.css_parser._purge_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 227
    functionName: soupsieve.css_parser._purge_cache
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b6d550>
    - <ast.Constant object at 0x7f5d19b6dd60>
    argNames:
    - select
    - tag
    - namespaces
    - flags
    - custom
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 79
    functionName: soupsieve.closest
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - token.group
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.match_id
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - soupsieve.css_match.CSSMatch.closest
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - relations.append
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - sel.nth.extend
    - <builtin>.next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - soupsieve.css_match.CSSMatch.match_nth
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_attributes
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.SoupSieve.closest
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1596
    functionName: soupsieve.css_match.SoupSieve.closest
    functionSourceFile: soupsieve.css_match
    functionUses: 1
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.match_id
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_match.CSSMatch.closest
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a103850>
    - <ast.Constant object at 0x7f5d1a103c10>
    argNames:
    - select
    - tag
    - namespaces
    - flags
    - custom
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 93
    functionName: soupsieve.match
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - token.group
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - <builtin>.float
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.SoupSieve.match
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - relations.append
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - soupsieve.css_match.Inputs.validate_year
    - <builtin>.next
    - sel.nth.extend
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - sub_sel.attributes.append
    - kwargs.get
    - <builtin>.str
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match.CSSMatch.match_attributes
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_parser.process_custom
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1591
    functionName: soupsieve.css_match.SoupSieve.match
    functionSourceFile: soupsieve.css_match
    functionUses: 3
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a136c70>
    - <ast.Constant object at 0x7f5d1a136e20>
    argNames:
    - select
    - iterable
    - namespaces
    - flags
    - custom
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 107
    functionName: soupsieve.filter
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - token.group
    - soupsieve.css_match.CSSMatch.__init__
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_match.SoupSieve.filter
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.match_id
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.filter
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - <builtin>.float
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.SoupSieve.match
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - soupsieve.css_match.Inputs.validate_year
    - <builtin>.next
    - sel.nth.extend
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_content_string
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - sub_sel.attributes.append
    - kwargs.get
    - <builtin>.str
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_attributes
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1601
    functionName: soupsieve.css_match.SoupSieve.filter
    functionSourceFile: soupsieve.css_match
    functionUses: 1
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.filter
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.SoupSieve.match
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match._DocumentNav.is_content_string
    - soupsieve.css_match.CSSMatch.match_nth
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match.CSSMatch.match_attributes
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19c2e970>
    - <ast.Constant object at 0x7f5d19c2e220>
    argNames:
    - select
    - tag
    - namespaces
    - flags
    - custom
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 121
    functionName: soupsieve.select_one
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - token.group
    - soupsieve.css_match.CSSMatch.__init__
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.match_id
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - sel.nth.extend
    - <builtin>.next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_match.SoupSieve.select
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_content_string
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - sub_sel.attributes.append
    - kwargs.get
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - sel.selectors.append
    - <builtin>.list
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - soupsieve.css_match._DocumentNav.has_html_ns
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - typing.cast.group
    - soupsieve.css_match._DocumentNav.iter_attributes
    - custom.items
    - soupsieve.css_match.CSSMatch.select
    - sel.relations.extend
    - value.startswith
    - pattern.match
    - soupsieve.css_match.SoupSieve.select_one
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_parser._Selector._freeze_relations
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - soupsieve.css_types.SelectorNull.__init__
    - RE_WS_BEGIN.search
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - soupsieve.css_match._DocumentNav.get_descendants
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1618
    functionName: soupsieve.css_match.SoupSieve.select_one
    functionSourceFile: soupsieve.css_match
    functionUses: 1
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.SoupSieve.select
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - <builtin>.list
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1813d7c0>
    argNames:
    - self
    - tag
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1624
    functionName: soupsieve.css_match.SoupSieve.select
    functionSourceFile: soupsieve.css_match
    functionUses: 6
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - <builtin>.list
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19cad100>
    - <ast.Constant object at 0x7f5d19cad370>
    - <ast.Constant object at 0x7f5d19cad070>
    argNames:
    - select
    - tag
    - namespaces
    - limit
    - flags
    - custom
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 150
    functionName: soupsieve.iselect
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - DIR_MAP.get
    - token.group
    - soupsieve.css_match.CSSMatch.__init__
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - sel.freeze
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_future_relations
    - RE_WS.search
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - <builtin>.float
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.print
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - mdict.get
    - soupsieve.css_match._DocumentNav.get_classes
    - RE_NTH.match
    - soupsieve.css_match.CSSMatch.match_defined
    - selectors.append
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.css_types.CustomSelectors.__init__
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_parser.CSSParser.parse_combinator
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - m.start
    - soupsieve.css_match.Inputs.validate_year
    - <builtin>.next
    - sel.nth.extend
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - lang_range.split
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - sub_sel.attributes.append
    - kwargs.get
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - re.compile
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.match_attributes
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match.SoupSieve.__init__
    - soupsieve.css_parser._Selector.freeze
    - soupsieve.css_match._DocumentNav.has_html_ns
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - soupsieve.css_parser._cached_css_compile
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.get_prefix
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - unicodedata.bidirectional
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - RE_MONTH.match
    - soupsieve.css_match.SoupSieve.iselect
    - soupsieve.css_match._DocumentNav.iter_attributes
    - typing.cast.group
    - custom.items
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - sel.relations.extend
    - value.startswith
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_VALUES.finditer
    - RE_WEEK.match
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.compile
    - soupsieve.css_match.CSSMatch.match_lang
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - m.groupdict
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_parser.CSSParser.process_selectors
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - sel.nth.append
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_parser._Selector._freeze_relations
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - soupsieve.css_types.SelectorNull.__init__
    - RE_WS_BEGIN.search
    - <builtin>.getattr
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - soupsieve.css_match.CSSMatch.match_tagname
    - selector.startswith
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - RE_CUSTOM.match
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - soupsieve.css_match.Inputs.validate_hour
    - op.startswith
    - typing.cast
    - soupsieve.css_types.Namespaces.__init__
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_parser.process_custom
    - soupsieve.css_types.SelectorAttribute.__init__
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - a.endswith
    - pattern.match
    - v.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1813dc70>
    argNames:
    - self
    - tag
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1629
    functionName: soupsieve.css_match.SoupSieve.iselect
    functionSourceFile: soupsieve.css_match
    functionUses: 8
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match.CSSMatch.__init__
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match.CSSMatch.select
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - ident
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 165
    functionName: soupsieve.escape
    functionSourceFile: soupsieve
    functionUses: 0
    functionsReached:
    - soupsieve.css_parser.escape
    - <builtin>.len
    - <builtin>.ord
    - string.append
    - <builtin>.enumerate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - ident
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: soupsieve.css_parser.escape
    functionSourceFile: soupsieve.css_parser
    functionUses: 1
    functionsReached:
    - <builtin>.enumerate
    - <builtin>.len
    - string.append
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: -1
    functionName: soupsieve.css_parser
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - m.start
    - sel.nth.extend
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - typing.cast.group
    - functools.lru_cache
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - selector.startswith
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.lru_cache
    functionSourceFile: functools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - custom
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 233
    functionName: soupsieve.css_parser.process_custom
    functionSourceFile: soupsieve.css_parser
    functionUses: 11
    functionsReached:
    - soupsieve.util.lower
    - RE_CUSTOM.match
    - custom.items
    - <builtin>.ord
    - soupsieve.css_parser.css_unescape
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised:
    - SelectorSyntaxError
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a6f6d00>
    - <ast.Constant object at 0x7f5d1a6f6250>
    argNames:
    - self
    - selector
    - custom
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: soupsieve.css_parser.CSSParser.__init__
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - selector.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a0b3ac0>
    - <ast.Constant object at 0x7f5d1a0b3cd0>
    argNames:
    - self
    - index
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1149
    functionName: soupsieve.css_parser.CSSParser.process_selectors
    functionSourceFile: soupsieve.css_parser
    functionUses: 17
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - sel.nth.extend
    - m.start
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - typing.cast.group
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_types.SelectorNull.__init__
    - RE_WS_BEGIN.search
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - selector.startswith
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - pattern
    - selectors
    - namespaces
    - custom
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1573
    functionName: soupsieve.css_match.SoupSieve.__init__
    functionSourceFile: soupsieve.css_match
    functionUses: 11
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: custom.items
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 17
    functionName: soupsieve.util.lower
    functionSourceFile: soupsieve.util
    functionUses: 74
    functionsReached:
    - <builtin>.ord
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_CUSTOM.match
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a91de20>
    argNames:
    - content
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 248
    functionName: soupsieve.css_parser.css_unescape
    functionSourceFile: ''
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - m
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 255
    functionName: soupsieve.css_parser.css_unescape.replace
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached:
    - <builtin>.chr
    - m.group
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - pattern
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 306
    functionName: soupsieve.css_parser.SelectorPattern.__init__
    functionSourceFile: soupsieve.css_parser
    functionUses: 1
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 312
    functionName: soupsieve.css_parser.SelectorPattern.get_name
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - selector
    - index
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 317
    functionName: soupsieve.css_parser.SelectorPattern.match
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 326
    functionName: soupsieve.css_parser.SpecialPseudoPattern.__init__
    functionSourceFile: soupsieve.css_parser
    functionUses: 1
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 339
    functionName: soupsieve.css_parser.SpecialPseudoPattern.get_name
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - selector
    - index
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 344
    functionName: soupsieve.css_parser.SpecialPseudoPattern.match
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached:
    - soupsieve.util.lower
    - <builtin>.ord
    - m.group
    - soupsieve.css_parser.css_unescape
    - pattern.match
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pattern.match
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 369
    functionName: soupsieve.css_parser._Selector.__init__
    functionSourceFile: soupsieve.css_parser
    functionUses: 21
    functionsReached:
    - kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.get
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - relations
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 385
    functionName: soupsieve.css_parser._Selector._freeze_relations
    functionSourceFile: soupsieve.css_parser
    functionUses: 20
    functionsReached:
    - sel.freeze
    - sel.relations.extend
    - <builtin>.tuple
    - soupsieve.css_types.SelectorList.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.relations.extend
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.freeze
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f6b580>
    - <ast.Constant object at 0x7f5d19f6bc70>
    - <ast.Constant object at 0x7f5d19f6b700>
    argNames:
    - self
    - selectors
    - is_not
    - is_html
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 360
    functionName: soupsieve.css_types.SelectorList.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 21
    functionsReached:
    - <builtin>.tuple
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 395
    functionName: soupsieve.css_parser._Selector.freeze
    functionSourceFile: soupsieve.css_parser
    functionUses: 19
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - sel.freeze
    - sel.relations.extend
    - soupsieve.css_types.SelectorNull.__init__
    - <builtin>.tuple
    - soupsieve.css_types.SelectorList.__init__
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 237
    functionName: soupsieve.css_types.SelectorNull.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 20
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 12
    argDefaultValues: []
    argNames:
    - self
    - tag
    - ids
    - classes
    - attributes
    - nth
    - selectors
    - relation
    - rel_type
    - contains
    - lang
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: soupsieve.css_types.Selector.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 20
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 415
    functionName: soupsieve.css_parser._Selector.__str__
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: soupsieve.css_parser.CSSParser
    functionSourceFile: soupsieve.css_parser
    functionUses: 0
    functionsReached:
    - soupsieve.css_parser.SpecialPseudoPattern.__init__
    - soupsieve.css_parser.SelectorPattern.__init__
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selector.replace
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 4
    IfCount: 13
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 472
    functionName: soupsieve.css_parser.CSSParser.parse_attribute_selector
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - soupsieve.util.lower
    - soupsieve.css_parser._Selector._freeze_relations
    - m.group
    - sel.freeze
    - soupsieve.css_types.SelectorNull.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - RE_WS.search
    - soupsieve.css_parser._Selector.__init__
    - sub_sel.attributes.append
    - op.startswith
    - kwargs.get
    - re.compile
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - sel.relations.extend
    - new_string.append
    - soupsieve.css_types.SelectorAttribute.__init__
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_parser._Selector.freeze
    - sel.attributes.append
    - <builtin>.chr
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: op.startswith
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_WS.search
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - attribute
    - prefix
    - pattern
    - xml_type_pattern
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 267
    functionName: soupsieve.css_types.SelectorAttribute.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 19
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sub_sel.attributes.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.selectors.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.attributes.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 542
    functionName: soupsieve.css_parser.CSSParser.parse_tag_pattern
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - soupsieve.css_parser.css_unescape
    - m.group
    - <builtin>.super
    - soupsieve.css_types.SelectorTag.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: soupsieve.css_types.SelectorTag.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 20
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 551
    functionName: soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    functionSourceFile: soupsieve.css_parser
    functionUses: 17
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - m.start
    - sel.nth.extend
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - typing.cast.group
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - RE_WS_BEGIN.search
    - soupsieve.css_types.SelectorNull.__init__
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - selector.startswith
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised:
    - SelectorSyntaxError
    returnType: N/A
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 44
    ICount: 23
    IfCount: 31
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    - iselector
    - is_html
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 579
    functionName: soupsieve.css_parser.CSSParser.parse_pseudo_class
    functionSourceFile: soupsieve.css_parser
    functionUses: 17
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - sel.nth.extend
    - m.start
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - typing.cast.group
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_types.SelectorNull.__init__
    - RE_WS_BEGIN.search
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - selector.startswith
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised:
    - SelectorSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.end
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - sel
    - name
    - has_selector
    - iselector
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 746
    functionName: soupsieve.css_parser.CSSParser.parse_pseudo_open
    functionSourceFile: soupsieve.css_parser
    functionUses: 17
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - sel.nth.extend
    - m.start
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - typing.cast.group
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_types.SelectorNull.__init__
    - RE_WS_BEGIN.search
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - sel.lang.append
    - soupsieve.css_parser._Selector.__init__
    - selector.startswith
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - a
    - n
    - b
    - of_type
    - last
    - selectors
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 310
    functionName: soupsieve.css_types.SelectorNth.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 18
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.nth.append
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.nth.extend
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 43
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 61
    ICount: 17
    IfCount: 43
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b69c40>
    - <ast.Constant object at 0x7f5d19b69fa0>
    argNames:
    - self
    - iselector
    - index
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 925
    functionName: soupsieve.css_parser.CSSParser.parse_selectors
    functionSourceFile: soupsieve.css_parser
    functionUses: 17
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - sel.nth.extend
    - m.start
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - soupsieve.css_parser._Selector.freeze
    - a.startswith
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - warnings.warn
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - typing.cast.group
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_types.SelectorNull.__init__
    - RE_WS_BEGIN.search
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - selector.startswith
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised:
    - SelectorSyntaxError
    - NotImplementedError
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 5
    IfCount: 12
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    - iselector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 681
    functionName: soupsieve.css_parser.CSSParser.parse_pseudo_nth
    functionSourceFile: soupsieve.css_parser
    functionUses: 17
    functionsReached:
    - soupsieve.css_types.Selector.__init__
    - token.group
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_types.SelectorContains.__init__
    - soupsieve.css_parser.CSSParser.parse_pseudo_contains
    - soupsieve.css_parser.CSSParser.__init__
    - m.end
    - sel.freeze
    - RE_WS.search
    - <builtin>.print
    - mdict.get
    - RE_NTH.match
    - selectors.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class
    - relations.append
    - soupsieve.util.lower
    - soupsieve.css_parser.CSSParser.parse_combinator
    - <builtin>.bool
    - sel.nth.extend
    - m.start
    - <builtin>.next
    - soupsieve.css_types.SelectorNth.__init__
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - soupsieve.css_parser.CSSParser.selector_iter
    - selector.replace
    - <builtin>.isinstance
    - sel.contains.append
    - soupsieve.css_types.SelectorLang.__init__
    - sub_sel.attributes.append
    - kwargs.get
    - re.compile
    - new_string.append
    - <builtin>.ord
    - sel.selectors.append
    - a.startswith
    - soupsieve.css_parser._Selector.freeze
    - sel.attributes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_dir
    - <builtin>.chr
    - patterns.append
    - soupsieve.css_parser.CSSParser.parse_selectors
    - soupsieve.css_parser.CSSParser.parse_pseudo_nth
    - <builtin>.int
    - sel.ids.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_open
    - m.group
    - soupsieve.css_parser.CSSParser.parse_attribute_selector
    - warnings.warn
    - typing.cast.group
    - sel.relations.extend
    - value.startswith
    - RE_VALUES.finditer
    - soupsieve.css_parser.CSSParser.parse_has_combinator
    - s.freeze
    - RE_WS_END.search
    - <builtin>.super
    - soupsieve.css_parser.CSSParser.parse_class_id
    - sel.classes.append
    - soupsieve.css_parser.CSSParser.parse_pseudo_class_custom
    - m.groupdict
    - soupsieve.css_parser.CSSParser.process_selectors
    - sel.nth.append
    - soupsieve.css_parser._Selector._freeze_relations
    - <builtin>.len
    - soupsieve.css_types.SelectorNull.__init__
    - RE_WS_BEGIN.search
    - soupsieve.css_parser.CSSParser.parse_tag_pattern
    - soupsieve.css_parser._Selector.__init__
    - sel.lang.append
    - selector.startswith
    - soupsieve.css_parser.CSSParser.parse_pseudo_lang
    - op.startswith
    - typing.cast
    - re.escape
    - soupsieve.css_types.SelectorList.__init__
    - v.get_name
    - soupsieve.css_types.SelectorAttribute.__init__
    - a.endswith
    - v.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.groupdict
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mdict.get
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_NTH.match
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 49
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.group
    functionSourceFile: typing
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.endswith
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: a.startswith
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    - selectors
    - rel_type
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 769
    functionName: soupsieve.css_parser.CSSParser.parse_has_combinator
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - kwargs.get
    - m.group
    - soupsieve.css_parser._Selector.__init__
    - selectors.append
    linkageType: pythonLinkage
    raised:
    - SelectorSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selectors.append
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 9
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    - selectors
    - relations
    - is_pseudo
    - is_forgive
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 812
    functionName: soupsieve.css_parser.CSSParser.parse_combinator
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - relations.append
    - selectors.append
    - kwargs.get
    - m.group
    - sel.relations.extend
    - soupsieve.css_types.SelectorTag.__init__
    - soupsieve.css_parser._Selector.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - SelectorSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: relations.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 860
    functionName: soupsieve.css_parser.CSSParser.parse_class_id
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - selector.startswith
    - sel.classes.append
    - sel.ids.append
    - m.group
    - soupsieve.css_parser.css_unescape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: selector.startswith
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.classes.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.ids.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 871
    functionName: soupsieve.css_parser.CSSParser.parse_pseudo_contains
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - RE_VALUES.finditer
    - sel.contains.append
    - soupsieve.util.lower
    - token.group
    - <builtin>.ord
    - m.group
    - warnings.warn
    - soupsieve.css_parser.css_unescape
    - <builtin>.tuple
    - value.startswith
    - <builtin>.chr
    - soupsieve.css_types.SelectorContains.__init__
    - patterns.append
    - <builtin>.super
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_VALUES.finditer
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token.group
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.startswith
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: patterns.append
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - text
    - own
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: soupsieve.css_types.SelectorContains.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 19
    functionsReached:
    - <builtin>.tuple
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.contains.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 896
    functionName: soupsieve.css_parser.CSSParser.parse_pseudo_lang
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - RE_VALUES.finditer
    - soupsieve.css_types.SelectorLang.__init__
    - token.group
    - m.group
    - <builtin>.tuple
    - soupsieve.css_parser.css_unescape
    - value.startswith
    - sel.lang.append
    - patterns.append
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - languages
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 330
    functionName: soupsieve.css_types.SelectorLang.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 19
    functionsReached:
    - <builtin>.tuple
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sel.lang.append
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - sel
    - m
    - has_selector
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 917
    functionName: soupsieve.css_parser.CSSParser.parse_pseudo_dir
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - soupsieve.util.lower
    - <builtin>.ord
    - m.group
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 63
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.freeze
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 5
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - pattern
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1108
    functionName: soupsieve.css_parser.CSSParser.selector_iter
    functionSourceFile: soupsieve.css_parser
    functionUses: 18
    functionsReached:
    - <builtin>.len
    - v.get_name
    - m.end
    - m.group
    - <builtin>.print
    - RE_WS_BEGIN.search
    - RE_WS_END.search
    - m.start
    - v.match
    linkageType: pythonLinkage
    raised:
    - SelectorSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_WS_BEGIN.search
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_WS_END.search
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: m.start
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.match
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: v.get_name
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: soupsieve.css_match
    functionSourceFile: soupsieve.css_match
    functionUses: 0
    functionsReached:
    - copyreg.pickle
    - re.compile
    - soupsieve.css_types.pickle_register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 68
    functionName: soupsieve.css_match._FakeParent.__init__
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: soupsieve.css_match._FakeParent.__len__
    functionSourceFile: soupsieve.css_match
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 83
    functionName: soupsieve.css_match._DocumentNav.assert_valid_input
    functionSourceFile: soupsieve.css_match
    functionUses: 16
    functionsReached:
    - soupsieve.css_match._DocumentNav.is_tag
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: soupsieve.css_match._DocumentNav.is_tag
    functionSourceFile: soupsieve.css_match
    functionUses: 35
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: soupsieve.css_match._DocumentNav.is_doc
    functionSourceFile: soupsieve.css_match
    functionUses: 20
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: soupsieve.css_match._DocumentNav.is_declaration
    functionSourceFile: soupsieve.css_match
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 106
    functionName: soupsieve.css_match._DocumentNav.is_cdata
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: soupsieve.css_match._DocumentNav.is_processing_instruction
    functionSourceFile: soupsieve.css_match
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: soupsieve.css_match._DocumentNav.is_navigable_string
    functionSourceFile: soupsieve.css_match
    functionUses: 34
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: soupsieve.css_match._DocumentNav.is_special_string
    functionSourceFile: soupsieve.css_match
    functionUses: 35
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 126
    functionName: soupsieve.css_match._DocumentNav.is_content_string
    functionSourceFile: soupsieve.css_match
    functionUses: 33
    functionsReached:
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match._DocumentNav.is_navigable_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: soupsieve.css_match._DocumentNav.create_fake_parent
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.css_match._FakeParent.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 138
    functionName: soupsieve.css_match._DocumentNav.is_xml_tree
    functionSourceFile: soupsieve.css_match
    functionUses: 47
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 143
    functionName: soupsieve.css_match._DocumentNav.is_iframe
    functionSourceFile: soupsieve.css_match
    functionUses: 46
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 599
    functionName: soupsieve.css_match.CSSMatch.is_html_tag
    functionSourceFile: soupsieve.css_match
    functionUses: 47
    functionsReached:
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.get_tag_ns
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 154
    functionName: soupsieve.css_match._DocumentNav.is_root
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match._DocumentNav.get_parent
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a8c8d90>
    argNames:
    - self
    - el
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 257
    functionName: soupsieve.css_match._DocumentNav.get_parent
    functionSourceFile: soupsieve.css_match
    functionUses: 34
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19cada00>
    argNames:
    - self
    - el
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 168
    functionName: soupsieve.css_match._DocumentNav.get_contents
    functionSourceFile: soupsieve.css_match
    functionUses: 29
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19cad790>
    - <ast.Constant object at 0x7f5d19cad8e0>
    - <ast.Constant object at 0x7f5d19cadc40>
    argNames:
    - self
    - el
    - start
    - reverse
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 175
    functionName: soupsieve.css_match._DocumentNav.get_tag_children
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - <builtin>.len
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match._DocumentNav.get_children
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19ad2f70>
    - <ast.Constant object at 0x7f5d19ad24c0>
    - <ast.Constant object at 0x7f5d19ad2340>
    - <ast.Constant object at 0x7f5d19ad20d0>
    argNames:
    - self
    - el
    - start
    - reverse
    - tags
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 186
    functionName: soupsieve.css_match._DocumentNav.get_children
    functionSourceFile: soupsieve.css_match
    functionUses: 32
    functionsReached:
    - <builtin>.len
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19eff3a0>
    argNames:
    - self
    - el
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 212
    functionName: soupsieve.css_match._DocumentNav.get_tag_descendants
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.get_descendants
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19fa5370>
    - <ast.Constant object at 0x7f5d19fa5d60>
    argNames:
    - self
    - el
    - tags
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 221
    functionName: soupsieve.css_match._DocumentNav.get_descendants
    functionSourceFile: soupsieve.css_match
    functionUses: 32
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 266
    functionName: soupsieve.css_match._DocumentNav.get_tag_name
    functionSourceFile: soupsieve.css_match
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 272
    functionName: soupsieve.css_match._DocumentNav.get_prefix_name
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 278
    functionName: soupsieve.css_match._DocumentNav.get_uri
    functionSourceFile: soupsieve.css_match
    functionUses: 52
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 284
    functionName: soupsieve.css_match._DocumentNav.get_next_tag
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.css_match._DocumentNav.get_next
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a8d67c0>
    argNames:
    - cls
    - el
    - tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: soupsieve.css_match._DocumentNav.get_next
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f5f2b0>
    argNames:
    - cls
    - el
    - tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 303
    functionName: soupsieve.css_match._DocumentNav.get_previous_tag
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.css_match._DocumentNav.get_previous
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f5ff40>
    argNames:
    - cls
    - el
    - tags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 309
    functionName: soupsieve.css_match._DocumentNav.get_previous
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 322
    functionName: soupsieve.css_match._DocumentNav.has_html_ns
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - <builtin>.bool
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - el
    - attr_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 334
    functionName: soupsieve.css_match._DocumentNav.split_namespace
    functionSourceFile: soupsieve.css_match
    functionUses: 29
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 343
    functionName: soupsieve.css_match._DocumentNav.normalize_value
    functionSourceFile: soupsieve.css_match
    functionUses: 39
    functionsReached:
    - value.decode
    - <builtin>.str
    - typing.cast
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.decode
    functionSourceFile: <builtin>
    functionUses: 40
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a09aa90>
    argNames:
    - cls
    - el
    - name
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 376
    functionName: soupsieve.css_match._DocumentNav.get_attribute_by_name
    functionSourceFile: soupsieve.css_match
    functionUses: 34
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - el.attrs.items
    - <builtin>.ord
    - <builtin>.str
    - typing.cast
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: el.attrs.items
    functionSourceFile: <builtin>
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 398
    functionName: soupsieve.css_match._DocumentNav.iter_attributes
    functionSourceFile: soupsieve.css_match
    functionUses: 30
    functionsReached:
    - value.decode
    - el.attrs.items
    - <builtin>.str
    - typing.cast
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 406
    functionName: soupsieve.css_match._DocumentNav.get_classes
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.util.lower
    - RE_NOT_WS.findall
    - value.decode
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - <builtin>.ord
    - <builtin>.str
    - typing.cast
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_NOT_WS.findall
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a1801c0>
    argNames:
    - self
    - el
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 414
    functionName: soupsieve.css_match._DocumentNav.get_text
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - soupsieve.css_match._DocumentNav.get_descendants
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a02a130>
    argNames:
    - self
    - el
    - no_iframe
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 424
    functionName: soupsieve.css_match._DocumentNav.get_own_text
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - year
    - month
    - day
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 436
    functionName: soupsieve.css_match.Inputs.validate_day
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - year
    - week
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 447
    functionName: soupsieve.css_match.Inputs.validate_week
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached:
    - datetime.datetime.strptime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.strptime
    functionSourceFile: datetime
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - month
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 456
    functionName: soupsieve.css_match.Inputs.validate_month
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - year
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 462
    functionName: soupsieve.css_match.Inputs.validate_year
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - hour
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 468
    functionName: soupsieve.css_match.Inputs.validate_hour
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - minutes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 474
    functionName: soupsieve.css_match.Inputs.validate_minutes
    functionSourceFile: soupsieve.css_match
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 26
    ICount: 1
    IfCount: 18
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - itype
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 480
    functionName: soupsieve.css_match.Inputs.parse_value
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.css_match.Inputs.validate_week
    - RE_WEEK.match
    - <builtin>.int
    - soupsieve.css_match.Inputs.validate_hour
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.Inputs.validate_minutes
    - datetime.datetime.strptime
    - <builtin>.float
    - m.group
    - soupsieve.css_match.Inputs.validate_day
    - RE_TIME.match
    - RE_MONTH.match
    - RE_DATE.match
    - soupsieve.css_match.Inputs.validate_year
    - RE_NUM.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_DATE.match
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_MONTH.match
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_WEEK.match
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_TIME.match
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_DATETIME.match
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_NUM.match
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - selectors
    - scope
    - namespaces
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 538
    functionName: soupsieve.css_match.CSSMatch.__init__
    functionSourceFile: soupsieve.css_match
    functionUses: 15
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_uri
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.is_doc
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match._DocumentNav.assert_valid_input
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 579
    functionName: soupsieve.css_match.CSSMatch.supports_namespaces
    functionSourceFile: soupsieve.css_match
    functionUses: 54
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 584
    functionName: soupsieve.css_match.CSSMatch.get_tag_ns
    functionSourceFile: soupsieve.css_match
    functionUses: 51
    functionsReached:
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.supports_namespaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 604
    functionName: soupsieve.css_match.CSSMatch.get_tag
    functionSourceFile: soupsieve.css_match
    functionUses: 36
    functionsReached:
    - soupsieve.util.lower
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 610
    functionName: soupsieve.css_match.CSSMatch.get_prefix
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - <builtin>.ord
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 616
    functionName: soupsieve.css_match.CSSMatch.find_bidi
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - DIR_MAP.get
    - value.decode
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.get_children
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - unicodedata.bidirectional
    - <builtin>.isinstance
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.get_tag_name
    - typing.cast
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.is_special_string
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DIR_MAP.get
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.bidirectional
    functionSourceFile: unicodedata
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - lang_range
    - lang_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 653
    functionName: soupsieve.css_match.CSSMatch.extended_language_filter
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - RE_WILD_STRIP.sub
    - lang_range.split
    - <builtin>.len
    - typing.cast.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_WILD_STRIP.sub
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lang_range.split
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.lower
    functionSourceFile: typing
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - el
    - attr
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 709
    functionName: soupsieve.css_match.CSSMatch.match_attribute_name
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - soupsieve.css_match._DocumentNav.iter_attributes
    - <builtin>.ord
    - el.attrs.items
    - <builtin>.str
    - typing.cast
    - <builtin>.isinstance
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.getattr
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 762
    functionName: soupsieve.css_match.CSSMatch.match_namespace
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.get_tag_ns
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - attributes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 783
    functionName: soupsieve.css_match.CSSMatch.match_attributes
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - soupsieve.css_match._DocumentNav.iter_attributes
    - <builtin>.ord
    - el.attrs.items
    - <builtin>.str
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - typing.cast
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match._DocumentNav.split_namespace
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.getattr
    - pattern.match
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 802
    functionName: soupsieve.css_match.CSSMatch.match_tagname
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.util.lower
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_tag_name
    - soupsieve.css_match.CSSMatch.get_tag
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 811
    functionName: soupsieve.css_match.CSSMatch.match_tag
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.get_uri
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_namespace
    - soupsieve.css_match._DocumentNav.get_tag_name
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - new_string.append
    - soupsieve.css_match.CSSMatch.get_tag
    - <builtin>.chr
    - soupsieve.css_match.CSSMatch.match_tagname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - relation
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 823
    functionName: soupsieve.css_match.CSSMatch.match_past_relations
    functionSourceFile: soupsieve.css_match
    functionUses: 25
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 32
    ICount: 1
    IfCount: 22
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - selectors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1439
    functionName: soupsieve.css_match.CSSMatch.match_selectors
    functionSourceFile: soupsieve.css_match
    functionUses: 25
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - new_string.append
    - soupsieve.css_match.CSSMatch.match_selectors
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a8bd3a0>
    argNames:
    - self
    - parent
    - relation
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 851
    functionName: soupsieve.css_match.CSSMatch.match_future_child
    functionSourceFile: soupsieve.css_match
    functionUses: 25
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - relation
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 865
    functionName: soupsieve.css_match.CSSMatch.match_future_relations
    functionSourceFile: soupsieve.css_match
    functionUses: 25
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - soupsieve.css_match._DocumentNav.get_next_tag
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - relation
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 888
    functionName: soupsieve.css_match.CSSMatch.match_relations
    functionSourceFile: soupsieve.css_match
    functionUses: 25
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - ids
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 903
    functionName: soupsieve.css_match.CSSMatch.match_id
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - <builtin>.ord
    - <builtin>.str
    - typing.cast
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - <builtin>.chr
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - classes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 913
    functionName: soupsieve.css_match.CSSMatch.match_classes
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - RE_NOT_WS.findall
    - value.decode
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - <builtin>.ord
    - <builtin>.str
    - typing.cast
    - new_value.append
    - soupsieve.css_match._DocumentNav.normalize_value
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.get_classes
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 924
    functionName: soupsieve.css_match.CSSMatch.match_root
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match._DocumentNav.get_previous
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - sibling.strip
    - soupsieve.css_match._DocumentNav.is_special_string
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.is_cdata
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sibling.strip
    functionSourceFile: <builtin>
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 950
    functionName: soupsieve.css_match.CSSMatch.match_scope
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - child
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 955
    functionName: soupsieve.css_match.CSSMatch.match_nth_tag_type
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_tag_name
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.get_tag
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 28
    ICount: 1
    IfCount: 19
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - nth
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 963
    functionName: soupsieve.css_match.CSSMatch.match_nth
    functionSourceFile: soupsieve.css_match
    functionUses: 25
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1064
    functionName: soupsieve.css_match.CSSMatch.match_empty
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.get_children
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_NOT_EMPTY.search
    - soupsieve.css_match._DocumentNav.is_special_string
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_NOT_EMPTY.search
    functionSourceFile: <builtin>
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - selectors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1077
    functionName: soupsieve.css_match.CSSMatch.match_subselectors
    functionSourceFile: soupsieve.css_match
    functionUses: 25
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - contains
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1086
    functionName: soupsieve.css_match.CSSMatch.match_contains
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match._DocumentNav.is_special_string
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.get_descendants
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 2
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1114
    functionName: soupsieve.css_match.CSSMatch.match_default
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.str
    - typing.cast
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.get_descendants
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1154
    functionName: soupsieve.css_match.CSSMatch.match_indeterminate
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.str
    - typing.cast
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match._DocumentNav.get_descendants
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - el
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1160
    functionName: soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    functionSourceFile: soupsieve.css_match
    functionUses: 27
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_tag_name
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.get_tag
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match._DocumentNav.get_parent
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 3
    IfCount: 17
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - langs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1216
    functionName: soupsieve.css_match.CSSMatch.match_lang
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - el.attrs.items
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - RE_WILD_STRIP.sub
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - lang_range.split
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - <builtin>.isinstance
    - soupsieve.css_match._DocumentNav.iter_attributes
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.get_tag_name
    - typing.cast
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 1
    IfCount: 13
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - directionality
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1302
    functionName: soupsieve.css_match.CSSMatch.match_dir
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - DIR_MAP.get
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.find_bidi
    - unicodedata.bidirectional
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.get_tag_name
    - typing.cast
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.is_special_string
    - new_string.append
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 1
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - el
    - condition
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1361
    functionName: soupsieve.css_match.CSSMatch.match_range
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - value.decode
    - <builtin>.int
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - el.attrs.items
    - soupsieve.css_match.Inputs.validate_day
    - RE_DATE.match
    - soupsieve.css_match.Inputs.validate_year
    - m.group
    - new_value.append
    - RE_MONTH.match
    - <builtin>.isinstance
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.Inputs.validate_hour
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - <builtin>.float
    - <builtin>.str
    - typing.cast
    - soupsieve.css_match._DocumentNav.normalize_value
    - RE_TIME.match
    - RE_NUM.match
    - new_string.append
    - RE_WEEK.match
    - datetime.datetime.strptime
    - <builtin>.ord
    - <builtin>.chr
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1401
    functionName: soupsieve.css_match.CSSMatch.match_defined
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_prefix
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_tag_name
    - name.find
    - soupsieve.css_match.CSSMatch.get_tag
    - <builtin>.chr
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.find
    functionSourceFile: <builtin>
    functionUses: 27
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1424
    functionName: soupsieve.css_match.CSSMatch.match_placeholder_shown
    functionSourceFile: soupsieve.css_match
    functionUses: 26
    functionsReached:
    - soupsieve.util.lower
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - <builtin>.ord
    - soupsieve.css_match._DocumentNav.get_uri
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match._DocumentNav.is_special_string
    - soupsieve.css_match.CSSMatch.is_html_tag
    - <builtin>.bool
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - soupsieve.css_match._DocumentNav.get_descendants
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - new_string.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d18188e50>
    argNames:
    - self
    - limit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1523
    functionName: soupsieve.css_match.CSSMatch.select
    functionSourceFile: soupsieve.css_match
    functionUses: 9
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - el
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1556
    functionName: soupsieve.css_match.CSSMatch.match
    functionSourceFile: soupsieve.css_match
    functionUses: 18
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1536
    functionName: soupsieve.css_match.CSSMatch.closest
    functionSourceFile: soupsieve.css_match
    functionUses: 2
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1548
    functionName: soupsieve.css_match.CSSMatch.filter
    functionSourceFile: soupsieve.css_match
    functionUses: 2
    functionsReached:
    - DIR_MAP.get
    - el.attrs.items
    - soupsieve.css_match._DocumentNav.is_root
    - soupsieve.css_match.CSSMatch.match_id
    - soupsieve.css_match._DocumentNav.get_uri
    - new_value.append
    - soupsieve.css_match.CSSMatch.match_future_relations
    - soupsieve.css_match.CSSMatch.find_bidi
    - soupsieve.css_match.CSSMatch.match_dir
    - soupsieve.css_match.CSSMatch.match_nth_tag_type
    - soupsieve.css_match.CSSMatch.match_scope
    - soupsieve.css_match._DocumentNav.get_own_text
    - soupsieve.css_match._DocumentNav.get_tag_name
    - <builtin>.float
    - soupsieve.css_match.CSSMatch.extended_language_filter
    - soupsieve.css_match.CSSMatch.get_tag
    - soupsieve.css_match._DocumentNav.get_parent
    - soupsieve.css_match._DocumentNav.get_classes
    - soupsieve.css_match.CSSMatch.match_defined
    - soupsieve.css_match.CSSMatch.match_range
    - soupsieve.util.lower
    - soupsieve.css_match._DocumentNav.is_tag
    - soupsieve.css_match._DocumentNav.get_attribute_by_name
    - soupsieve.css_match.CSSMatch.match_contains
    - soupsieve.css_match.Inputs.validate_day
    - typing.cast.lower
    - <builtin>.bool
    - soupsieve.css_match._DocumentNav.get_text
    - soupsieve.css_match._DocumentNav.get_next
    - soupsieve.css_match.Inputs.validate_year
    - soupsieve.css_match.CSSMatch.match_namespace
    - name.find
    - lang_range.split
    - soupsieve.css_match.CSSMatch.match_nth
    - soupsieve.css_match._DocumentNav.is_content_string
    - <builtin>.isinstance
    - RE_DATETIME.match
    - soupsieve.css_match.Inputs.validate_minutes
    - soupsieve.css_match._DocumentNav.is_doc
    - <builtin>.str
    - soupsieve.css_match._DocumentNav.normalize_value
    - soupsieve.css_match.CSSMatch.is_html_tag
    - RE_TIME.match
    - soupsieve.css_match.CSSMatch.match_relations
    - soupsieve.css_match._DocumentNav.get_previous_tag
    - RE_NUM.match
    - soupsieve.css_match.CSSMatch.match_default
    - soupsieve.css_match.CSSMatch.match_attributes
    - soupsieve.css_match.CSSMatch.match_selectors
    - new_string.append
    - soupsieve.css_match._DocumentNav.is_special_string
    - <builtin>.ord
    - soupsieve.css_match.CSSMatch.match_classes
    - soupsieve.css_match._DocumentNav.has_html_ns
    - soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form
    - <builtin>.chr
    - soupsieve.css_match._DocumentNav.split_namespace
    - value.decode
    - soupsieve.css_match.CSSMatch.get_prefix
    - <builtin>.int
    - soupsieve.css_match.CSSMatch.match
    - soupsieve.css_match._FakeParent.__init__
    - soupsieve.css_match._DocumentNav.is_navigable_string
    - RE_WILD_STRIP.sub
    - RE_DATE.match
    - soupsieve.css_match.CSSMatch.match_tag
    - RE_NOT_WS.findall
    - soupsieve.css_match._DocumentNav.get_prefix_name
    - soupsieve.css_match._DocumentNav.get_tag_descendants
    - m.group
    - soupsieve.css_match._DocumentNav.create_fake_parent
    - unicodedata.bidirectional
    - RE_MONTH.match
    - soupsieve.css_match._DocumentNav.iter_attributes
    - soupsieve.css_match._DocumentNav.get_descendants
    - RE_NOT_EMPTY.search
    - sibling.strip
    - RE_WEEK.match
    - datetime.datetime.strptime
    - soupsieve.css_match.CSSMatch.supports_namespaces
    - soupsieve.css_match.CSSMatch.match_lang
    - soupsieve.css_match._DocumentNav.is_cdata
    - soupsieve.css_match.CSSMatch.match_empty
    - soupsieve.css_match.CSSMatch.get_tag_ns
    - soupsieve.css_match.Inputs.validate_month
    - soupsieve.css_match.CSSMatch.match_attribute_name
    - soupsieve.css_match._DocumentNav.get_previous
    - soupsieve.css_match._DocumentNav.get_children
    - soupsieve.css_match._DocumentNav.is_xml_tree
    - soupsieve.css_match.CSSMatch.match_root
    - <builtin>.len
    - soupsieve.css_match._DocumentNav.get_next_tag
    - soupsieve.css_match._DocumentNav.get_contents
    - soupsieve.css_match.CSSMatch.match_past_relations
    - <builtin>.getattr
    - soupsieve.css_match._DocumentNav.get_tag_children
    - soupsieve.css_match.CSSMatch.match_subselectors
    - soupsieve.css_match.CSSMatch.match_tagname
    - soupsieve.css_match.Inputs.validate_week
    - soupsieve.css_match.CSSMatch.match_future_child
    - soupsieve.css_match.Inputs.validate_hour
    - typing.cast
    - soupsieve.css_match.CSSMatch.match_placeholder_shown
    - soupsieve.css_match._DocumentNav.is_iframe
    - soupsieve.css_match.CSSMatch.match_indeterminate
    - pattern.match
    - soupsieve.css_match.Inputs.parse_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1634
    functionName: soupsieve.css_match.SoupSieve.__repr__
    functionSourceFile: soupsieve.css_match
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 394
    functionName: soupsieve.css_types.pickle_register
    functionSourceFile: soupsieve.css_types
    functionUses: 2
    functionsReached:
    - copyreg.pickle
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 9
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: soupsieve.css_types
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - copyreg.pickle
    - soupsieve.css_types.pickle_register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: soupsieve.css_types.Immutable.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - kwargs.items
    - <builtin>.hash
    - <builtin>.type
    - <builtin>.tuple
    - temp.append
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: temp.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hash
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - cls
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: soupsieve.css_types.Immutable.__base__
    functionSourceFile: soupsieve.css_types
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: soupsieve.css_types.Immutable.__eq__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Immutable.__base__
    - <builtin>.getattr
    - <builtin>.all
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: soupsieve.css_types.Immutable.__ne__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Immutable.__base__
    - <builtin>.getattr
    - <builtin>.any
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: soupsieve.css_types.Immutable.__hash__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 78
    functionName: soupsieve.css_types.Immutable.__setattr__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: soupsieve.css_types.Immutable.__repr__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: soupsieve.css_types.Immutable.pretty
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - soupsieve.css_types.Immutable.pretty
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - arg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: soupsieve.css_types.ImmutableDict.__init__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - arg.values
    - <builtin>.hash
    - soupsieve.css_types.Namespaces._validate
    - <builtin>.sorted
    - soupsieve.css_types.CustomSelectors._validate
    - <builtin>.dict
    - <builtin>.type
    - <builtin>.tuple
    - <builtin>.all
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - arg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 155
    functionName: soupsieve.css_types.Namespaces._validate
    functionSourceFile: soupsieve.css_types
    functionUses: 1
    functionsReached:
    - arg.values
    - <builtin>.all
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - arg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: soupsieve.css_types.CustomSelectors._validate
    functionSourceFile: soupsieve.css_types
    functionUses: 1
    functionsReached:
    - arg.values
    - <builtin>.all
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - arg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: soupsieve.css_types.ImmutableDict._validate
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - arg.values
    - <builtin>.all
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arg.values
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: soupsieve.css_types.ImmutableDict.__iter__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: soupsieve.css_types.ImmutableDict.__len__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 129
    functionName: soupsieve.css_types.ImmutableDict.__getitem__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 134
    functionName: soupsieve.css_types.ImmutableDict.__hash__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 139
    functionName: soupsieve.css_types.ImmutableDict.__repr__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 335
    functionName: soupsieve.css_types.SelectorLang.__iter__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 340
    functionName: soupsieve.css_types.SelectorLang.__len__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 345
    functionName: soupsieve.css_types.SelectorLang.__getitem__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 374
    functionName: soupsieve.css_types.SelectorList.__iter__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 379
    functionName: soupsieve.css_types.SelectorList.__len__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 384
    functionName: soupsieve.css_types.SelectorList.__getitem__
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - p
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 390
    functionName: soupsieve.css_types._pickle
    functionSourceFile: soupsieve.css_types
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.getattr
    - p.__base__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.__base__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copyreg.pickle
    functionSourceFile: copyreg
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: soupsieve.pretty
    functionSourceFile: soupsieve.pretty
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: soupsieve.pretty.pretty
    functionSourceFile: soupsieve.pretty
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - m.end
    - <builtin>.str
    - m.group
    - output.append
    - TOKENS.items
    - v.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: TOKENS.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: output.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: soupsieve.util
    functionSourceFile: soupsieve.util
    functionUses: 0
    functionsReached:
    - <builtin>.ord
    - re.compile
    - functools.lru_cache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: new_string.append
    functionSourceFile: <builtin>
    functionUses: 75
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19ca98b0>
    - <ast.Constant object at 0x7f5d19ca94c0>
    argNames:
    - self
    - msg
    - pattern
    - index
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 30
    functionName: soupsieve.util.SelectorSyntaxError.__init__
    functionSourceFile: soupsieve.util
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - m.end
    - m.group
    - RE_PATTERN_LINE_SPLIT.finditer
    - text.append
    - m.start
    - <builtin>.super
    - soupsieve.util.get_pattern_context
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - pattern
    - index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: soupsieve.util.get_pattern_context
    functionSourceFile: soupsieve.util
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - m.end
    - m.group
    - RE_PATTERN_LINE_SPLIT.finditer
    - text.append
    - m.start
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a664d30>
    argNames:
    - message
    - stacklevel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: soupsieve.util.deprecated
    functionSourceFile: soupsieve.util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: soupsieve.util.deprecated._wrapper
    functionSourceFile: soupsieve.util
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: soupsieve.util.deprecated._wrapper._deprecated_func
    functionSourceFile: soupsieve.util
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19dca700>
    argNames:
    - message
    - stacklevel
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: soupsieve.util.warn_deprecated
    functionSourceFile: soupsieve.util
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_PATTERN_LINE_SPLIT.finditer
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: soupsieve.__meta__
    functionSourceFile: soupsieve.__meta__
    functionUses: 0
    functionsReached:
    - soupsieve.__meta__.Version._is_post
    - soupsieve.__meta__.Version._is_pre
    - collections.namedtuple.__init__
    - re.compile
    - soupsieve.__meta__.Version._is_dev
    - soupsieve.__meta__.Version._get_canonical
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b534c0>
    - <ast.Constant object at 0x7f5d19b53970>
    - <ast.Constant object at 0x7f5d19b53580>
    - <ast.Constant object at 0x7f5d19b53160>
    argNames:
    - cls
    - major
    - minor
    - micro
    - release
    - pre
    - post
    - dev
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: soupsieve.__meta__.Version.__new__
    functionSourceFile: soupsieve.__meta__
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 123
    functionName: soupsieve.__meta__.Version._is_pre
    functionSourceFile: soupsieve.__meta__
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: soupsieve.__meta__.Version._is_dev
    functionSourceFile: soupsieve.__meta__
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: soupsieve.__meta__.Version._is_post
    functionSourceFile: soupsieve.__meta__
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 138
    functionName: soupsieve.__meta__.Version._get_dev_status
    functionSourceFile: soupsieve.__meta__
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: soupsieve.__meta__.Version._get_canonical
    functionSourceFile: soupsieve.__meta__
    functionUses: 1
    functionsReached:
    - soupsieve.__meta__.Version._is_post
    - <builtin>.bool
    - soupsieve.__meta__.Version._is_pre
    - soupsieve.__meta__.Version._is_dev
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - ver
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: soupsieve.__meta__.parse_version
    functionSourceFile: soupsieve.__meta__
    functionUses: 0
    functionsReached:
    - m.group
    - collections.namedtuple.__init__
    - <builtin>.int
    - RE_VER.match
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: RE_VER.match
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.namedtuple.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs4.builder._lxml
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - d
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: bs4.builder._lxml._invert
    functionSourceFile: bs4.builder._lxml
    functionUses: 2
    functionsReached:
    - d.items
    - <builtin>.list
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - d.items
    - <builtin>.list
    - <builtin>.dict
    - bs4.builder._lxml._invert
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - soup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.initialize_soup
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - bs4.builder._lxml.LXMLTreeBuilderForXML._register_namespaces
    - mapping.items
    - <builtin>.super
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 76
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML._register_namespaces
    functionSourceFile: bs4.builder._lxml
    functionUses: 2
    functionsReached:
    - <builtin>.list
    - mapping.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mapping.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.default_parser
    functionSourceFile: bs4.builder._lxml
    functionUses: 3
    functionsReached:
    - lxml.etree.XMLParser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.XMLParser
    functionSourceFile: lxml
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 103
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.parser_for
    functionSourceFile: bs4.builder._lxml
    functionUses: 2
    functionsReached:
    - lxml.etree.XMLParser
    - <builtin>.isinstance
    - bs4.builder._lxml.LXMLTreeBuilderForXML.default_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19e7ef10>
    - <ast.Constant object at 0x7f5d19e7e700>
    argNames:
    - self
    - parser
    - empty_element_tags
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.__init__
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML._getNsTag
    functionSourceFile: bs4.builder._lxml
    functionUses: 2
    functionsReached:
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a195970>
    - <ast.Constant object at 0x7f5d1a195940>
    - <ast.Constant object at 0x7f5d1a195490>
    argNames:
    - self
    - markup
    - user_specified_encoding
    - exclude_encodings
    - document_declared_encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 138
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.prepare_markup
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.dammit.EncodingDetector.__init__
    - x.lower
    - <builtin>.list
    - markup.encode
    - <builtin>.set
    - bs4.dammit.EncodingDetector.strip_byte_order_mark
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markup.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 199
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.feed
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - <builtin>.len
    - lxml.etree.XMLParser
    - bs4.builder._lxml.LXMLTreeBuilderForXML.parser_for
    - bs4.builder._lxml.LXMLTreeBuilderForXML.default_parser
    - io.StringIO.read
    - io.StringIO
    - io.BytesIO.read
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ParserRejectedMarkup
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.StringIO
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.StringIO.read
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: io.BytesIO.read
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 220
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.close
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Dict object at 0x7f5d1a110d30>
    argNames:
    - self
    - name
    - attrs
    - nsmap
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 223
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.start
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.builder._lxml.LXMLTreeBuilderForXML._getNsTag
    - <builtin>.list
    - <builtin>.dict
    - nsmap.items
    - bs4.builder._lxml.LXMLTreeBuilderForXML._prefix_for_namespace
    - <builtin>.tuple
    - <builtin>.reversed
    - bs4.builder._lxml._invert
    - attrs.copy
    - attrs.items
    - mapping.items
    - d.items
    - bs4.builder._lxml.LXMLTreeBuilderForXML._register_namespaces
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: nsmap.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - namespace
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML._prefix_for_namespace
    functionSourceFile: bs4.builder._lxml
    functionUses: 1
    functionsReached:
    - <builtin>.reversed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 278
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.end
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - <builtin>.reversed
    - <builtin>.len
    - bs4.builder._lxml.LXMLTreeBuilderForXML._getNsTag
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - target
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 294
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.pi
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 299
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.data
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - name
    - pubid
    - system
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 302
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.doctype
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - bs4.element.Doctype.for_name_and_ids
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - content
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 307
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.comment
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fragment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 313
    functionName: bs4.builder._lxml.LXMLTreeBuilderForXML.test_fragment_to_document
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 327
    functionName: bs4.builder._lxml.LXMLTreeBuilder.default_parser
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 330
    functionName: bs4.builder._lxml.LXMLTreeBuilder.feed
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached:
    - lxml.etree.XMLParser
    - bs4.builder._lxml.LXMLTreeBuilderForXML.parser_for
    - <builtin>.isinstance
    - bs4.builder._lxml.LXMLTreeBuilderForXML.default_parser
    linkageType: pythonLinkage
    raised:
    - ParserRejectedMarkup
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - fragment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 340
    functionName: bs4.builder._lxml.LXMLTreeBuilder.test_fragment_to_document
    functionSourceFile: bs4.builder._lxml
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: bs4.builder._htmlparser
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.__init__
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 1
    functionsReached:
    - kwargs.pop
    - html.parser.HTMLParser.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.parser.HTMLParser.__init__
    functionSourceFile: html
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.error
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_startendtag
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_endtag
    - bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_starttag
    - html.parser.HTMLParser.getpos
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19d68e20>
    argNames:
    - self
    - name
    - attrs
    - handle_empty_element
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_starttag
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 1
    functionsReached:
    - html.parser.HTMLParser.getpos
    - bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_endtag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19f1b070>
    argNames:
    - self
    - name
    - check_already_closed
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 171
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_endtag
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.parser.HTMLParser.getpos
    functionSourceFile: html
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_data
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 193
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_charref
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_data
    - name.lstrip
    - name.startswith
    - <builtin>.chr
    - <builtin>.bytearray
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.lstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytearray
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 232
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_entityref
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - EntitySubstitution.HTML_ENTITY_TO_CHARACTER.get
    - bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: EntitySubstitution.HTML_ENTITY_TO_CHARACTER.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 251
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_comment
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_decl
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 270
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.unknown_decl
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - data.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.upper
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 284
    functionName: bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_pi
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19d9a520>
    - <ast.Constant object at 0x7f5d19d9aac0>
    argNames:
    - self
    - parser_args
    - parser_kwargs
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 307
    functionName: bs4.builder._htmlparser.HTMLParserTreeBuilder.__init__
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - kwargs.pop
    - <builtin>.dict
    - parser_kwargs.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser_kwargs.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19dca700>
    - <ast.Constant object at 0x7f5d19dca4c0>
    - <ast.Constant object at 0x7f5d19dca0a0>
    argNames:
    - self
    - markup
    - user_specified_encoding
    - document_declared_encoding
    - exclude_encodings
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 335
    functionName: bs4.builder._htmlparser.HTMLParserTreeBuilder.prepare_markup
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - bs4.dammit.EncodingDetector.__init__
    - bs4.dammit.UnicodeDammit.find_codec
    - <builtin>.str
    - x.lower
    - bs4.dammit.UnicodeDammit._convert_from
    - <builtin>.list
    - re.compile
    - bs4.dammit.UnicodeDammit._codec
    - codecs.lookup
    - value.lower
    - bs4.dammit.UnicodeDammit._to_unicode
    - bs4.dammit.UnicodeDammit.__init__
    - <builtin>.set
    - smart_quotes_compiled.sub
    - logging.getLogger
    - bs4.dammit.EncodingDetector.strip_byte_order_mark
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - markup
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 384
    functionName: bs4.builder._htmlparser.HTMLParserTreeBuilder.feed
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - kwargs.pop
    - html.parser.HTMLParser.close
    - bs4.builder._htmlparser.BeautifulSoupHTMLParser.__init__
    - warnings.warn
    - <builtin>.RuntimeWarning
    - html.parser.HTMLParser.__init__
    - html.parser.HTMLParser.feed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.parser.HTMLParser.feed
    functionSourceFile: html
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.parser.HTMLParser.close
    functionSourceFile: html
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.RuntimeWarning
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 6
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - i
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 430
    functionName: bs4.builder._htmlparser.parse_starttag
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - attrfind_tolerant.match
    - m.end
    - attrs.append
    - html.parser.tagfind.match
    - html.parser.attrfind.match
    - m.group
    - attrname.lower
    - end.endswith
    - match.end
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.parser.tagfind.match
    functionSourceFile: html
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.end
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.parser.attrfind.match
    functionSourceFile: html
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrfind_tolerant.match
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attrname.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: end.endswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - elem
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 485
    functionName: bs4.builder._htmlparser.set_cdata_mode
    functionSourceFile: bs4.builder._htmlparser
    functionUses: 0
    functionsReached:
    - elem.lower
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elem.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bs4.testing
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - markup
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 72
    functionName: bs4.testing.SoupTest.soup
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - os.path.exists
    - rejections.append
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - <builtin>.hasattr
    - collections.Counter
    - candidate_set.intersection
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - kwargs.pop
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.BeautifulSoup.endData
    - features.pop
    - parent.contents.append
    - markup.decode
    - <builtin>.any
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - sys.stdin.read
    - features.reverse
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup.reset
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - markup
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: bs4.testing.SoupTest.document_for
    functionSourceFile: bs4.testing
    functionUses: 1
    functionsReached:
    - bs4.testing.SoupTest.default_builder
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19b520d0>
    argNames:
    - self
    - to_parse
    - compare_parsed_to
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 84
    functionName: bs4.testing.SoupTest.assertSoupEquals
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - bs4.testing.SoupTest.document_for
    - os.path.exists
    - rejections.append
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - <builtin>.hasattr
    - collections.Counter
    - candidate_set.intersection
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.BeautifulSoup.endData
    - features.pop
    - unittest.TestCase.assertEqual
    - parent.contents.append
    - bs4.BeautifulSoup.decode
    - markup.decode
    - <builtin>.any
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - sys.stdin.read
    - features.reverse
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - <builtin>.all
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup.reset
    - collections.Counter.values
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unittest.TestCase.assertEqual
    functionSourceFile: unittest
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: collections.Counter.values
    functionSourceFile: collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - element
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 106
    functionName: bs4.testing.SoupTest.assertConnectedness
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - unittest.TestCase.assertEqual
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a0f7730>
    argNames:
    - self
    - el
    - _recursive_call
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: bs4.testing.SoupTest.linkage_validator
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - bs4.testing.SoupTest.linkage_validator
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 235
    functionName: bs4.testing.TreeBuilderSmokeTest.test_fuzzed_input
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - warnings.catch_warnings
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.catch_warnings
    functionSourceFile: warnings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 635
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_empty_element_tags
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.new_tag
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.new_tag
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 288
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_special_string_containers
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_pickle_and_unpickle_identity
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - tree.decode
    - loaded.decode
    - pickle.dumps
    - pickle.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.dumps
    functionSourceFile: pickle
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pickle.loads
    functionSourceFile: pickle
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: loaded.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tree.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - doctype_fragment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 313
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.assertDoctypeHandled
    functionSourceFile: bs4.testing
    functionUses: 5
    functionsReached:
    - soup.encode
    - <builtin>.len
    - doctype.encode
    - bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a283a30>
    argNames:
    - self
    - doctype_fragment
    - doctype_string
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 330
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    functionSourceFile: bs4.testing
    functionUses: 7
    functionsReached:
    - doctype.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.encode
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctype.encode
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 337
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_normal_doctypes
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - bs4.testing.HTMLTreeBuilderSmokeTest.assertDoctypeHandled
    - <builtin>.len
    - bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    - doctype.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 343
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_empty_doctype
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - doctype.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: doctype.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 348
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_mixed_case_doctype
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - <builtin>.len
    - doctype.encode
    - bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 369
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_public_doctype_with_url
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - bs4.testing.HTMLTreeBuilderSmokeTest.assertDoctypeHandled
    - <builtin>.len
    - bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    - doctype.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 373
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_system_doctype
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - bs4.testing.HTMLTreeBuilderSmokeTest.assertDoctypeHandled
    - <builtin>.len
    - bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    - doctype.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 376
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_namespaced_system_doctype
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - bs4.testing.HTMLTreeBuilderSmokeTest.assertDoctypeHandled
    - <builtin>.len
    - bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    - doctype.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 380
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_namespaced_public_doctype
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - bs4.testing.HTMLTreeBuilderSmokeTest.assertDoctypeHandled
    - <builtin>.len
    - bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype
    - doctype.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 384
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_real_xhtml_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - markup.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markup.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 397
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_namespaced_html
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.find_all
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.find_all
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 405
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_processing_instruction
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - soup.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 418
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_deepcopy
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: copy
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 426
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_p_tag_is_never_empty_element
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 436
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_unclosed_tags_get_closed
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 446
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_br_is_always_empty_element_tag
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 456
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_nested_formatting_elements
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 459
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_double_head
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.find
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 476
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_comment
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 491
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_preserved_whitespace_in_pre_and_textarea
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.pre.prettify
    - soup.textarea.prettify
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.pre.prettify
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.textarea.prettify
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 509
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_nested_inline_elements
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 520
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_nested_block_level_elements
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 527
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_correctly_nested_tables
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 547
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_multivalued_attribute_with_whitespace
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.find
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 559
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_deeply_nested_multivalued_attribute
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 567
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_multivalued_attribute_on_html
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 575
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_angle_brackets_in_attribute_values_are_escaped
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 578
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_strings_resembling_character_entity_references
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 586
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_apos_entity
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 592
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_foreign_document_encoding
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 604
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_attributes_converted_to_unicode
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 611
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_text_converted_to_unicode
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 618
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_quot_entity_converted_to_quotation_mark
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 622
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_out_of_range_entity
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 628
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_multipart_strings
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 642
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_head_tag_between_head_and_body
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 653
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_multiple_copies_of_a_tag
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 670
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_basic_namespaces
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 685
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_multivalued_attribute_value_becomes_list
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 697
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_can_parse_unicode_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 705
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_soupstrainer
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - bs4.element.SoupStrainer._normalize_search_value
    - soup.decode
    - <builtin>.str
    - <builtin>.list
    - new_value.append
    - attrs.update
    - attrs.copy
    - attrs.items
    - bs4.element.SoupStrainer.__init__
    - <builtin>.hasattr
    - html5lib.treebuilders._base.Node.next_sibling.previous_element.next_element.name.prefix.decode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 712
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_single_quote_attribute_values_become_double_quotes
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 716
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_attribute_values_with_nested_quotes_are_left_alone
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 720
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_attribute_values_with_double_nested_quotes_get_quoted
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.foo.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.foo.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 728
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_ampersand_in_attribute_value_gets_escaped
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 736
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_escaped_ampersand_in_attribute_value_is_left_alone
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 739
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_strings_converted_during_parsing
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 746
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_smart_quotes_converted_on_the_way_in
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 755
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_non_breaking_spaces_converted_on_the_way_in
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 759
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_converted_on_the_way_out
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.p.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.p.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 765
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_real_iso_latin_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - expected.encode
    - unicode_html.replace
    - unicode_html.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicode_html.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicode_html.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: expected.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 792
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_real_shift_jis_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - shift_jis_html.decode
    - soup.encode
    - unicode_html.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: shift_jis_html.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 809
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_real_hebrew_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - hebrew_document.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hebrew_document.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 822
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_meta_tag_reflects_current_encoding
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.find
    - content.encode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: content.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 850
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_html5_style_meta_tag_reflects_current_encoding
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.find
    - charset.encode
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: charset.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 874
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_python_specific_encodings_not_used_in_charset
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - encoding.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoding.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 897
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_tag_with_no_attributes_can_have_attributes_added
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - data.a.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.a.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 902
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_closing_tag_with_no_opening_tag
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.body.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: soup.body.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 912
    functionName: bs4.testing.HTMLTreeBuilderSmokeTest.test_worst_case
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 921
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_pickle_and_unpickle_identity
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - tree.decode
    - loaded.decode
    - pickle.dumps
    - pickle.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 930
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_docstring_generated
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 935
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_xml_declaration
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 940
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_python_specific_encodings_not_used_in_xml_declaration
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    - encoding.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 959
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_processing_instruction
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 964
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_real_xhtml_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 976
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_nested_namespaces
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 987
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_formatter_processes_script_tag_for_xml_documents
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - attrs.append
    - os.path.exists
    - bs4.formatter.Formatter.attribute_value
    - rejections.append
    - text.strip
    - bs4.formatter.Formatter.substitute
    - filename.lower
    - <builtin>.dict
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - tag.attrs.items
    - <builtin>.hasattr
    - bs4.element.Tag._should_pretty_print
    - candidate_set.intersection
    - collections.Counter
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.element.Tag.decode_contents
    - bs4.element.NavigableString.output_ready
    - <builtin>.iter
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - bs4.element.PageElement.format_string
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - val.encode
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.element.Tag.encode
    - bs4.BeautifulSoup.endData
    - bs4.formatter.XMLFormatter.__init__
    - features.pop
    - parent.contents.append
    - bs4.BeautifulSoup.decode
    - markup.decode
    - s.append
    - bs4.formatter.Formatter.attributes
    - <builtin>.any
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - value.replace
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - bs4.element.Tag.__init__
    - <builtin>.list
    - <builtin>.sorted
    - sys.stdin.read
    - features.reverse
    - u.encode
    - bs4.element.PageElement.formatter_for_name
    - bs4.BeautifulSoup.object_was_parsed
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.reset
    - bs4.element.Tag.__iter__
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 999
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_can_parse_unicode_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1004
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_popping_namespaced_tag
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1010
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_docstring_includes_correct_encoding
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1016
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_large_xml_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1025
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_tags_are_empty_element_if_and_only_if_they_are_empty
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1029
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_namespaces_are_preserved
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1036
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_closing_namespaced_tag
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1041
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_namespaced_attributes
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1046
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_namespaced_attributes_xml_namespace
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1051
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_find_by_prefixed_name
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - soup.find_all
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1073
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_copy_tag_preserves_namespace
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - copy.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.copy
    functionSourceFile: copy
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1084
    functionName: bs4.testing.XMLTreeBuilderSmokeTest.test_worst_case
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1094
    functionName: bs4.testing.HTML5TreeBuilderSmokeTest.test_real_xhtml_document
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1099
    functionName: bs4.testing.HTML5TreeBuilderSmokeTest.test_html_tags_have_namespace
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1104
    functionName: bs4.testing.HTML5TreeBuilderSmokeTest.test_svg_tags_have_namespace
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1112
    functionName: bs4.testing.HTML5TreeBuilderSmokeTest.test_mathml_tags_have_namespace
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1119
    functionName: bs4.testing.HTML5TreeBuilderSmokeTest.test_xml_declaration_becomes_comment
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - condition
    - reason
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1126
    functionName: bs4.testing.skipIf
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - test
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1127
    functionName: bs4.testing.skipIf.nothing
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - test_item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1130
    functionName: bs4.testing.skipIf.decorator
    functionSourceFile: bs4.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: -1
    functionName: bs4.diagnose
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - attrs.append
    - child._last_descendant
    - tag.attrs.items
    - data.startswith
    - bs4.BeautifulSoup.string_container
    - bs4.element.NavigableString.output_ready
    - data.read
    - bs4.element.PageElement.format_string
    - bs4.BeautifulSoup.__init__
    - <builtin>.print
    - markup.decode
    - sys.__dict__.get
    - bs4.BeautifulSoup.pushTag
    - builder.set_up_substitutions
    - sys.stdin.read
    - u.encode
    - <builtin>.sorted
    - os.path.exists
    - rejections.append
    - text.strip
    - bs4.formatter.Formatter.substitute
    - <builtin>.dict
    - traceback.print_exc
    - <builtin>.hasattr
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - <builtin>.str
    - bs4.diagnose.diagnose
    - bs4.BeautifulSoup.endData
    - bs4.formatter.XMLFormatter.__init__
    - bs4.formatter.Formatter.attributes
    - bs4.element.PageElement.setup
    - collections.defaultdict.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.setup
    - bs4.element.Tag.__iter__
    - bs4.element.Tag.prettify
    - os.path.isdir
    - bs4.formatter.Formatter.attribute_value
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.open
    - <builtin>.set
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.element.Tag.decode_contents
    - warnings.warn
    - sys._getframe
    - bs4.BeautifulSoup._decode_markup
    - features.pop
    - bs4.BeautifulSoup.decode
    - value.replace
    - bs4.testing.SoupTest.default_builder
    - bs4.element.Tag.__init__
    - <builtin>.map
    - bs4.BeautifulSoup.reset
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - <builtin>.super
    - basic_parsers.append
    - filename.lower
    - collections.Counter
    - bs4.element.Tag._should_pretty_print
    - candidate_set.intersection
    - <builtin>.len
    - <builtin>.iter
    - bs4.BeautifulSoup.popTag
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - val.encode
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.element.Tag.encode
    - parent.contents.append
    - s.append
    - fp.read
    - <builtin>.any
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - features.reverse
    - bs4.element.PageElement.formatter_for_name
    - bs4.BeautifulSoup.object_was_parsed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 18
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 22
    functionName: bs4.diagnose.diagnose
    functionSourceFile: bs4.diagnose
    functionUses: 1
    functionsReached:
    - sys.stdin.startswith
    - attrs.append
    - child._last_descendant
    - tag.attrs.items
    - data.startswith
    - bs4.BeautifulSoup.string_container
    - bs4.element.NavigableString.output_ready
    - data.read
    - bs4.element.PageElement.format_string
    - bs4.BeautifulSoup.__init__
    - <builtin>.print
    - markup.decode
    - sys.__dict__.get
    - bs4.BeautifulSoup.pushTag
    - builder.set_up_substitutions
    - sys.stdin.read
    - u.encode
    - <builtin>.sorted
    - os.path.exists
    - rejections.append
    - text.strip
    - bs4.formatter.Formatter.substitute
    - <builtin>.dict
    - traceback.print_exc
    - <builtin>.hasattr
    - bs4.dammit.EntitySubstitution.quoted_attribute_value
    - <builtin>.isinstance
    - <builtin>.str
    - bs4.BeautifulSoup.endData
    - bs4.formatter.XMLFormatter.__init__
    - bs4.formatter.Formatter.attributes
    - bs4.element.PageElement.setup
    - collections.defaultdict.get
    - <builtin>.list
    - html5lib.treebuilders._base.Node.setup
    - bs4.element.Tag.__iter__
    - bs4.element.Tag.prettify
    - os.path.isdir
    - bs4.formatter.Formatter.attribute_value
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.open
    - <builtin>.set
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.element.Tag.decode_contents
    - warnings.warn
    - sys._getframe
    - bs4.BeautifulSoup._decode_markup
    - features.pop
    - bs4.BeautifulSoup.decode
    - value.replace
    - bs4.testing.SoupTest.default_builder
    - bs4.element.Tag.__init__
    - <builtin>.map
    - bs4.BeautifulSoup.reset
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - <builtin>.super
    - basic_parsers.append
    - filename.lower
    - collections.Counter
    - bs4.element.Tag._should_pretty_print
    - candidate_set.intersection
    - <builtin>.len
    - <builtin>.iter
    - bs4.BeautifulSoup.popTag
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - val.encode
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.element.Tag.encode
    - parent.contents.append
    - s.append
    - fp.read
    - <builtin>.any
    - bs4.element.Tag.decode
    - bs4.formatter.HTMLFormatter.__init__
    - features.reverse
    - bs4.element.PageElement.formatter_for_name
    - bs4.BeautifulSoup.object_was_parsed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: basic_parsers.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.map
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.read
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fp.read
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.print_exc
    functionSourceFile: traceback
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19fa59a0>
    argNames:
    - data
    - html
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: bs4.diagnose.lxml_trace
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - io.StringIO
    - lxml.etree.iterparse
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.iterparse
    functionSourceFile: lxml
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: bs4.diagnose.AnnouncingParser._p
    functionSourceFile: bs4.diagnose
    functionUses: 9
    functionsReached:
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - attrs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 120
    functionName: bs4.diagnose.AnnouncingParser.handle_starttag
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 123
    functionName: bs4.diagnose.AnnouncingParser.handle_endtag
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 126
    functionName: bs4.diagnose.AnnouncingParser.handle_data
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 129
    functionName: bs4.diagnose.AnnouncingParser.handle_charref
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: bs4.diagnose.AnnouncingParser.handle_entityref
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: bs4.diagnose.AnnouncingParser.handle_comment
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 138
    functionName: bs4.diagnose.AnnouncingParser.handle_decl
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 141
    functionName: bs4.diagnose.AnnouncingParser.unknown_decl
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: bs4.diagnose.AnnouncingParser.handle_pi
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - <builtin>.print
    - bs4.diagnose.AnnouncingParser._p
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 147
    functionName: bs4.diagnose.htmlparser_trace
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - html.parser.HTMLParser.__init__
    - html.parser.HTMLParser.feed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19ad2130>
    argNames:
    - length
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 161
    functionName: bs4.diagnose.rword
    functionSourceFile: bs4.diagnose
    functionUses: 4
    functionsReached:
    - random.choice
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.choice
    functionSourceFile: random
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19cad670>
    argNames:
    - length
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 172
    functionName: bs4.diagnose.rsentence
    functionSourceFile: bs4.diagnose
    functionUses: 3
    functionsReached:
    - random.randint
    - random.choice
    - <builtin>.range
    - bs4.diagnose.rword
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: random.randint
    functionSourceFile: random
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19cada60>
    argNames:
    - num_elements
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 176
    functionName: bs4.diagnose.rdoc
    functionSourceFile: bs4.diagnose
    functionUses: 2
    functionsReached:
    - random.randint
    - <builtin>.range
    - elements.append
    - bs4.diagnose.rword
    - bs4.diagnose.rsentence
    - random.choice
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: elements.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 10
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d1a1369a0>
    argNames:
    - num_elements
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 194
    functionName: bs4.diagnose.benchmark_parsers
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - sys.stdin.startswith
    - os.path.exists
    - rejections.append
    - elements.append
    - filename.lower
    - <builtin>.dict
    - time.time
    - child._last_descendant
    - bs4.BeautifulSoup._check_markup_is_url
    - <builtin>.set
    - traceback.print_exc
    - <builtin>.hasattr
    - collections.Counter
    - candidate_set.intersection
    - <builtin>.len
    - bs4.BeautifulSoup.string_container
    - fnl.endswith
    - bs4.BeautifulSoup._feed
    - bs4.diagnose.rdoc
    - bs4.BeautifulSoup.popTag
    - warnings.warn
    - sys._getframe
    - sys.stdin.encode
    - builder._replace_cdata_list_attribute_values
    - bs4.BeautifulSoup._linkage_fixer
    - bs4.BeautifulSoup._decode_markup
    - <builtin>.isinstance
    - lxml.etree.HTML
    - random.randint
    - parser.parse
    - <builtin>.str
    - bs4.BeautifulSoup.__init__
    - <builtin>.print
    - bs4.builder.TreeBuilderRegistry.lookup
    - bs4.BeautifulSoup.endData
    - features.pop
    - parent.contents.append
    - bs4.diagnose.rword
    - markup.decode
    - random.choice
    - <builtin>.any
    - bs4.element.PageElement.setup
    - bs4.testing.SoupTest.default_builder
    - sys.__dict__.get
    - collections.defaultdict.get
    - bs4.BeautifulSoup.pushTag
    - <builtin>.range
    - bs4.element.Tag.__init__
    - <builtin>.list
    - sys.stdin.read
    - features.reverse
    - html5lib.treebuilders._base.Node.setup
    - builder.set_up_substitutions
    - bs4.BeautifulSoup.object_was_parsed
    - bs4.BeautifulSoup.reset
    - bs4.diagnose.rsentence
    - html5lib.HTMLParser
    - bs4.BeautifulSoup.__init__.deprecated_argument
    - os.path.isdir
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.time
    functionSourceFile: time
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: lxml.etree.HTML
    functionSourceFile: lxml
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d19d97f10>
    - <ast.Constant object at 0x7f5d19d97160>
    argNames:
    - num_elements
    - parser
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 226
    functionName: bs4.diagnose.profile
    functionSourceFile: bs4.diagnose
    functionUses: 0
    functionsReached:
    - random.randint
    - <builtin>.range
    - bs4.diagnose.rdoc
    - elements.append
    - pstats.Stats
    - <builtin>.dict
    - cProfile.runctx
    - bs4.diagnose.rword
    - bs4.diagnose.rsentence
    - stats.print_stats
    - stats.sort_stats
    - random.choice
    - tempfile.NamedTemporaryFile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.NamedTemporaryFile
    functionSourceFile: tempfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cProfile.runctx
    functionSourceFile: cProfile
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pstats.Stats
    functionSourceFile: pstats
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stats.sort_stats
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stats.print_stats
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_select':
  - 56
  - 55
  '...fuzz_select.TestOneInput':
  - 36
  - 25
  - 26
  - 27
  - 30
  '...fuzz_select.main':
  - 50
  - 51
  - 52
  bs4:
  - 1
  - 801
  - 35
  - 804
  - 803
  bs4.BeautifulSoup:
  - 72
  bs4.BeautifulSoup.__copy__:
  - 381
  - 382
  - 383
  bs4.BeautifulSoup.__getstate__:
  - 395
  - 396
  bs4.BeautifulSoup.__init__:
  - 261
  - 271
  - 274
  - 280
  - 281
  - 282
  - 283
  - 285
  - 288
  - 294
  - 170
  - 299
  - 172
  - 300
  - 177
  - 305
  - 179
  - 308
  - 310
  - 311
  - 184
  - 312
  - 186
  - 313
  - 314
  - 191
  - 320
  - 193
  - 322
  - 198
  - 200
  - 328
  - 329
  - 330
  - 336
  - 337
  - 341
  - 216
  - 345
  - 346
  - 219
  - 349
  - 222
  - 223
  - 352
  - 226
  - 356
  - 358
  - 360
  - 234
  - 362
  - 238
  - 239
  - 366
  - 241
  - 369
  - 243
  - 244
  - 370
  - 120
  - 253
  - 254
  - 255
  bs4.BeautifulSoup.__init__.deprecated_argument:
  - 208
  - 207
  bs4.BeautifulSoup._check_markup_is_url:
  - 420
  - 423
  - 429
  - 430
  - 431
  - 435
  - 415
  bs4.BeautifulSoup._decode_markup:
  - 408
  - 402
  - 407
  bs4.BeautifulSoup._feed:
  - 448
  - 450
  - 452
  - 442
  - 446
  bs4.BeautifulSoup._linkage_fixer:
  - 640
  - 649
  - 618
  - 651
  - 624
  - 629
  - 639
  bs4.BeautifulSoup._popToTag:
  - 672
  - 678
  - 679
  - 680
  - 683
  - 684
  - 685
  - 687
  - 658
  bs4.BeautifulSoup.decode:
  - 771
  - 746
  - 754
  - 757
  - 762
  - 767
  bs4.BeautifulSoup.endData:
  - 580
  - 582
  - 585
  - 586
  - 587
  - 556
  - 559
  - 560
  - 564
  - 566
  - 567
  - 570
  - 571
  bs4.BeautifulSoup.handle_data:
  - 740
  - 741
  bs4.BeautifulSoup.handle_endtag:
  - 736
  - 737
  - 730
  bs4.BeautifulSoup.handle_starttag:
  - 709
  - 711
  - 713
  - 716
  - 721
  - 723
  - 693
  - 726
  bs4.BeautifulSoup.insert_after:
  - 522
  bs4.BeautifulSoup.insert_before:
  - 516
  bs4.BeautifulSoup.new_string:
  - 512
  - 513
  - 509
  bs4.BeautifulSoup.new_tag:
  - 487
  - 486
  - 471
  bs4.BeautifulSoup.object_was_parsed:
  - 608
  - 611
  - 614
  - 615
  - 590
  - 591
  - 593
  - 599
  - 603
  bs4.BeautifulSoup.popTag:
  - 528
  - 529
  - 530
  - 532
  - 533
  - 534
  - 535
  - 537
  bs4.BeautifulSoup.pushTag:
  - 544
  - 545
  - 546
  - 548
  - 550
  - 551
  - 552
  - 553
  - 542
  bs4.BeautifulSoup.reset:
  - 455
  - 458
  - 460
  - 464
  - 467
  bs4.BeautifulSoup.string_container:
  - 496
  - 502
  - 503
  bs4.BeautifulStoneSoup:
  - 779
  bs4.BeautifulStoneSoup.__init__:
  - 786
  - 783
  bs4.FeatureNotFound:
  - 794
  bs4.GuessedAtParserWarning:
  - 60
  bs4.MarkupResemblesLocatorWarning:
  - 65
  bs4.StopParsing:
  - 790
  bs4.builder:
  - 99
  - 508
  - 517
  - 511
  bs4.builder.HTMLTreeBuilder:
  - 433
  - 379
  - 374
  - 391
  bs4.builder.HTMLTreeBuilder.set_up_substitutions:
  - 450
  - 451
  - 452
  - 464
  - 436
  - 468
  - 470
  - 471
  - 474
  - 447
  bs4.builder.ParserRejectedMarkup:
  - 491
  bs4.builder.ParserRejectedMarkup.__init__:
  - 498
  - 500
  - 501
  - 495
  bs4.builder.SAXTreeBuilder:
  - 324
  bs4.builder.SAXTreeBuilder.characters:
  - 364
  bs4.builder.SAXTreeBuilder.endElement:
  - 343
  bs4.builder.SAXTreeBuilder.endElementNS:
  - 351
  bs4.builder.SAXTreeBuilder.startElement:
  - 337
  - 339
  bs4.builder.SAXTreeBuilder.startElementNS:
  - 347
  bs4.builder.TreeBuilder:
  - 118
  - 124
  - 102
  bs4.builder.TreeBuilder.__init__:
  - 166
  - 134
  - 169
  - 172
  - 175
  bs4.builder.TreeBuilder._replace_cdata_list_attribute_values:
  - 298
  - 300
  - 301
  - 302
  - 303
  - 304
  - 305
  - 310
  - 311
  - 286
  bs4.builder.TreeBuilder.can_be_empty_element:
  - 196
  - 214
  bs4.builder.TreeBuilder.feed:
  - 219
  bs4.builder.TreeBuilder.initialize_soup:
  - 180
  bs4.builder.TreeBuilder.prepare_markup:
  - 255
  - 231
  bs4.builder.TreeBuilder.reset:
  - 188
  bs4.builder.TreeBuilder.set_up_substitutions:
  - 274
  bs4.builder.TreeBuilder.test_fragment_to_document:
  - 258
  bs4.builder.TreeBuilderRegistry:
  - 33
  bs4.builder.TreeBuilderRegistry.__init__:
  - 38
  bs4.builder.TreeBuilderRegistry.lookup:
  - 64
  - 71
  - 72
  - 75
  - 76
  - 77
  - 78
  - 79
  - 92
  - 81
  - 52
  - 84
  - 85
  - 90
  - 60
  - 93
  bs4.builder.TreeBuilderRegistry.register:
  - 48
  - 49
  - 42
  - 47
  bs4.builder._html5lib.AttrList.__contains__:
  - 263
  bs4.builder._html5lib.AttrList.__init__:
  - 239
  bs4.builder._html5lib.AttrList.__iter__:
  - 241
  bs4.builder._html5lib.AttrList.__len__:
  - 259
  bs4.builder._html5lib.AttrList.__setitem__:
  - 251
  - 252
  - 246
  bs4.builder._html5lib.AttrList.items:
  - 255
  bs4.builder._html5lib.AttrList.keys:
  - 257
  bs4.builder._html5lib.Element:
  - 352
  - 458
  bs4.builder._html5lib.Element.__init__:
  - 268
  bs4.builder._html5lib.Element.appendChild:
  - 312
  - 323
  - 292
  - 293
  - 295
  - 301
  - 302
  - 305
  - 275
  - 307
  - 280
  - 313
  - 314
  - 285
  - 319
  bs4.builder._html5lib.Element.cloneNode:
  - 443
  - 444
  - 445
  bs4.builder._html5lib.Element.getAttributes:
  - 328
  - 330
  bs4.builder._html5lib.Element.getNameTuple:
  - 453
  bs4.builder._html5lib.Element.insertBefore:
  - 362
  - 363
  - 367
  - 368
  - 370
  bs4.builder._html5lib.Element.insertText:
  - 355
  - 356
  - 357
  - 359
  bs4.builder._html5lib.Element.removeChild:
  - 374
  bs4.builder._html5lib.Element.reparentChildren:
  - 388
  - 389
  - 420
  - 423
  - 409
  - 430
  - 400
  - 432
  - 404
  - 377
  - 413
  bs4.builder._html5lib.Element.setAttributes:
  - 333
  - 335
  - 336
  - 337
  - 341
  - 343
  - 351
  bs4.builder._html5lib.HTML5TreeBuilder:
  - 42
  bs4.builder._html5lib.HTML5TreeBuilder.create_treebuilder:
  - 105
  bs4.builder._html5lib.HTML5TreeBuilder.feed:
  - 96
  - 77
  - 78
  - 79
  - 81
  - 82
  - 83
  - 87
  - 90
  bs4.builder._html5lib.HTML5TreeBuilder.prepare_markup:
  - 72
  - 73
  - 71
  bs4.builder._html5lib.HTML5TreeBuilder.test_fragment_to_document:
  - 112
  bs4.builder._html5lib.TextNode.__init__:
  - 462
  bs4.builder._html5lib.TreeBuilderForHtml5lib.__init__:
  - 120
  - 133
  - 126
  bs4.builder._html5lib.TreeBuilderForHtml5lib.appendChild:
  - 178
  bs4.builder._html5lib.TreeBuilderForHtml5lib.commentClass:
  - 166
  bs4.builder._html5lib.TreeBuilderForHtml5lib.documentClass:
  - 141
  - 142
  bs4.builder._html5lib.TreeBuilderForHtml5lib.elementClass:
  - 161
  - 154
  - 163
  - 158
  bs4.builder._html5lib.TreeBuilderForHtml5lib.fragmentClass:
  - 172
  - 174
  bs4.builder._html5lib.TreeBuilderForHtml5lib.getFragment:
  - 184
  bs4.builder._html5lib.TreeBuilderForHtml5lib.insertDoctype:
  - 149
  - 150
  bs4.builder._html5lib.TreeBuilderForHtml5lib.testSerializer:
  - 232
  - 234
  - 189
  bs4.builder._html5lib.TreeBuilderForHtml5lib.testSerializer.serializeElement:
  - 192
  - 194
  - 195
  - 196
  - 197
  - 198
  - 199
  - 200
  - 201
  - 204
  - 206
  - 207
  - 208
  - 209
  - 210
  - 212
  - 217
  - 218
  - 220
  - 221
  - 223
  - 224
  - 225
  - 227
  - 228
  - 230
  - 231
  bs4.builder._htmlparser:
  - 2
  - 412
  - 405
  - 407
  bs4.builder._htmlparser.BeautifulSoupHTMLParser:
  - 56
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.__init__:
  - 80
  - 66
  - 77
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.error:
  - 92
  - 102
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_charref:
  - 224
  - 194
  - 226
  - 230
  - 203
  - 204
  - 205
  - 206
  - 208
  - 211
  - 217
  - 218
  - 221
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_comment:
  - 256
  - 257
  - 258
  - 252
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_data:
  - 190
  - 191
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_decl:
  - 261
  - 265
  - 266
  - 267
  - 268
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_endtag:
  - 185
  - 180
  - 187
  - 172
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_entityref:
  - 240
  - 233
  - 249
  - 239
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_pi:
  - 289
  - 290
  - 291
  - 285
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_startendtag:
  - 105
  - 116
  - 117
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.handle_starttag:
  - 130
  - 133
  - 165
  - 135
  - 169
  - 140
  - 142
  - 145
  - 150
  - 151
  - 120
  - 155
  bs4.builder._htmlparser.BeautifulSoupHTMLParser.unknown_decl:
  - 271
  - 275
  - 277
  - 280
  - 281
  - 282
  bs4.builder._htmlparser.HTMLParserTreeBuilder:
  - 295
  bs4.builder._htmlparser.HTMLParserTreeBuilder.__init__:
  - 320
  - 321
  - 322
  - 323
  - 325
  - 328
  - 329
  - 331
  - 308
  bs4.builder._htmlparser.HTMLParserTreeBuilder.feed:
  - 385
  - 389
  - 392
  - 393
  - 395
  bs4.builder._htmlparser.HTMLParserTreeBuilder.prepare_markup:
  - 356
  - 358
  - 338
  - 373
  - 380
  bs4.builder._htmlparser.parse_starttag:
  - 432
  - 433
  - 440
  - 442
  - 443
  - 445
  - 446
  - 448
  - 449
  - 451
  - 452
  - 454
  - 457
  - 458
  - 459
  - 460
  - 462
  - 463
  - 464
  - 465
  - 466
  - 467
  - 468
  - 470
  - 471
  - 472
  - 474
  - 476
  - 478
  - 480
  - 481
  - 482
  bs4.builder._htmlparser.set_cdata_mode:
  - 486
  - 487
  bs4.builder._lxml.LXMLTreeBuilder.feed:
  - 333
  - 334
  - 335
  bs4.builder._lxml.LXMLTreeBuilder.test_fragment_to_document:
  - 341
  bs4.builder._lxml.LXMLTreeBuilderForXML:
  - 56
  - 58
  bs4.builder._lxml.LXMLTreeBuilderForXML.__init__:
  - 128
  - 124
  - 125
  bs4.builder._lxml.LXMLTreeBuilderForXML._getNsTag:
  - 133
  - 134
  bs4.builder._lxml.LXMLTreeBuilderForXML._prefix_for_namespace:
  - 273
  - 274
  - 270
  - 271
  bs4.builder._lxml.LXMLTreeBuilderForXML._register_namespaces:
  - 85
  - 84
  - 77
  bs4.builder._lxml.LXMLTreeBuilderForXML.comment:
  - 308
  - 309
  - 310
  - 311
  bs4.builder._lxml.LXMLTreeBuilderForXML.data:
  - 300
  bs4.builder._lxml.LXMLTreeBuilderForXML.default_parser:
  - 100
  - 98
  - 92
  bs4.builder._lxml.LXMLTreeBuilderForXML.doctype:
  - 304
  - 305
  - 303
  bs4.builder._lxml.LXMLTreeBuilderForXML.end:
  - 288
  - 289
  - 292
  - 279
  - 281
  - 283
  - 284
  - 285
  bs4.builder._lxml.LXMLTreeBuilderForXML.feed:
  - 200
  - 201
  - 202
  - 203
  - 207
  - 209
  - 210
  - 211
  - 213
  - 214
  - 215
  - 216
  bs4.builder._lxml.LXMLTreeBuilderForXML.initialize_soup:
  - 73
  - 74
  - 68
  bs4.builder._lxml.LXMLTreeBuilderForXML.parser_for:
  - 104
  - 114
  - 112
  - 110
  bs4.builder._lxml.LXMLTreeBuilderForXML.pi:
  - 296
  - 297
  - 295
  bs4.builder._lxml.LXMLTreeBuilderForXML.prepare_markup:
  - 196
  - 197
  - 167
  - 172
  - 141
  - 175
  - 177
  - 180
  - 191
  bs4.builder._lxml.LXMLTreeBuilderForXML.start:
  - 256
  - 225
  - 257
  - 228
  - 260
  - 261
  - 232
  - 233
  - 265
  - 266
  - 267
  - 237
  - 241
  - 245
  - 246
  - 247
  - 255
  bs4.builder._lxml.LXMLTreeBuilderForXML.test_fragment_to_document:
  - 314
  bs4.builder._lxml._invert:
  - 37
  - 38
  bs4.builder.register_treebuilders_from:
  - 481
  - 482
  - 484
  - 485
  - 486
  - 488
  - 479
  bs4.dammit:
  - 65
  - 2
  - 66
  - 59
  - 61
  - 62
  bs4.dammit.EncodingDetector:
  - 2561
  bs4.dammit.EncodingDetector.__init__:
  - 2626
  - 2590
  - 2632
  - 2621
  - 2622
  bs4.dammit.EncodingDetector._usable:
  - 2635
  - 2641
  - 2642
  - 2643
  - 2645
  - 2646
  bs4.dammit.EncodingDetector.encodings:
  - 2690
  - 2691
  - 2692
  - 2652
  - 2656
  - 2659
  - 2660
  - 2661
  - 2665
  - 2666
  - 2670
  - 2671
  - 2672
  - 2676
  - 2677
  - 2679
  - 2680
  - 2684
  - 2685
  - 2686
  - 2687
  bs4.dammit.EncodingDetector.find_declared_encoding:
  - 2754
  - 2755
  - 2756
  - 2757
  - 2726
  - 2758
  - 2759
  - 2760
  - 2761
  - 2762
  - 2740
  - 2741
  - 2744
  - 2746
  bs4.dammit.EncodingDetector.strip_byte_order_mark:
  - 2696
  - 2702
  - 2705
  - 2709
  - 2713
  - 2716
  - 2719
  bs4.dammit.EntitySubstitution:
  - 2432
  - 2442
  - 2446
  - 2311
  bs4.dammit.EntitySubstitution._populate_class_variables:
  - 2314
  - 2334
  - 2335
  - 2337
  - 2347
  - 2355
  - 2369
  - 2377
  - 2396
  - 2397
  - 2399
  - 2403
  - 2404
  - 2406
  - 2407
  - 2409
  - 2412
  - 2414
  - 2415
  - 2416
  - 2418
  - 2426
  - 2427
  - 2430
  bs4.dammit.EntitySubstitution._substitute_html_entity:
  - 2450
  - 2452
  bs4.dammit.EntitySubstitution._substitute_xml_entity:
  - 2457
  - 2459
  bs4.dammit.EntitySubstitution.quoted_attribute_value:
  - 2464
  - 2482
  - 2483
  - 2492
  bs4.dammit.EntitySubstitution.substitute_html:
  - 2544
  - 2556
  bs4.dammit.EntitySubstitution.substitute_xml:
  - 2517
  - 2513
  - 2516
  - 2501
  bs4.dammit.EntitySubstitution.substitute_xml_containing_entities:
  - 2538
  - 2523
  - 2539
  - 2535
  bs4.dammit.UnicodeDammit:
  - 2766
  bs4.dammit.UnicodeDammit.__init__:
  - 2850
  - 2788
  - 2854
  - 2855
  - 2856
  - 2857
  - 2826
  - 2827
  - 2858
  - 2833
  - 2835
  - 2869
  - 2844
  - 2846
  - 2847
  bs4.dammit.UnicodeDammit._codec:
  - 2953
  - 2957
  bs4.dammit.UnicodeDammit._convert_from:
  - 2890
  - 2894
  - 2895
  - 2897
  - 2901
  - 2904
  - 2905
  - 2910
  bs4.dammit.UnicodeDammit._sub_ms_char:
  - 2880
  - 2881
  - 2882
  - 2884
  - 2886
  - 2873
  - 2875
  - 2876
  - 2877
  - 2879
  bs4.dammit.UnicodeDammit._to_unicode:
  - 2921
  - 2925
  bs4.dammit.UnicodeDammit.declared_html_encoding:
  - 2929
  - 2932
  bs4.dammit.UnicodeDammit.detwingle:
  - 3297
  - 3331
  - 3336
  - 3305
  - 3337
  - 3275
  - 3307
  - 3309
  - 3310
  - 3314
  - 3315
  - 3318
  - 3321
  - 3291
  - 3325
  bs4.dammit.UnicodeDammit.find_codec:
  - 2944
  - 2945
  - 2948
  - 2949
  - 2937
  - 2942
  - 2943
  bs4.dammit.chardet_dammit:
  - 38
  - 26
  - 28
  - 36
  bs4.diagnose:
  - 1
  - 242
  - 241
  bs4.diagnose.AnnouncingParser:
  - 110
  bs4.diagnose.AnnouncingParser._p:
  - 118
  bs4.diagnose.AnnouncingParser.handle_charref:
  - 130
  bs4.diagnose.AnnouncingParser.handle_comment:
  - 136
  bs4.diagnose.AnnouncingParser.handle_data:
  - 127
  bs4.diagnose.AnnouncingParser.handle_decl:
  - 139
  bs4.diagnose.AnnouncingParser.handle_endtag:
  - 124
  bs4.diagnose.AnnouncingParser.handle_entityref:
  - 133
  bs4.diagnose.AnnouncingParser.handle_pi:
  - 145
  bs4.diagnose.AnnouncingParser.handle_starttag:
  - 121
  bs4.diagnose.AnnouncingParser.unknown_decl:
  - 142
  bs4.diagnose.benchmark_parsers:
  - 195
  - 196
  - 197
  - 198
  - 200
  - 203
  - 204
  - 205
  - 208
  - 209
  - 210
  - 211
  - 214
  - 215
  - 216
  - 217
  - 220
  - 221
  - 222
  - 223
  - 224
  bs4.diagnose.diagnose:
  - 23
  - 28
  - 29
  - 32
  - 33
  - 34
  - 42
  - 43
  - 46
  - 48
  - 52
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  - 64
  - 68
  - 69
  - 70
  - 71
  - 76
  - 78
  - 79
  - 82
  - 85
  - 86
  - 87
  - 88
  - 89
  - 91
  bs4.diagnose.htmlparser_trace:
  - 156
  - 155
  - 148
  bs4.diagnose.lxml_trace:
  - 106
  - 107
  - 94
  bs4.diagnose.profile:
  - 227
  - 228
  - 231
  - 232
  - 233
  - 235
  - 237
  - 238
  bs4.diagnose.rdoc:
  - 192
  - 177
  - 180
  - 181
  - 182
  - 184
  - 185
  - 186
  - 187
  - 188
  - 190
  - 191
  bs4.diagnose.rsentence:
  - 173
  - 174
  bs4.diagnose.rword:
  - 169
  - 162
  - 164
  - 165
  bs4.element:
  - 32
  - 59
  - 28
  - 15
  bs4.element.AttributeValueWithCharsetSubstitution:
  - 99
  bs4.element.CData:
  - 1061
  bs4.element.CharsetMetaAttributeValue:
  - 102
  bs4.element.CharsetMetaAttributeValue.__new__:
  - 109
  bs4.element.CharsetMetaAttributeValue.encode:
  - 114
  - 117
  bs4.element.Comment:
  - 1077
  bs4.element.ContentMetaAttributeValue:
  - 123
  - 131
  bs4.element.ContentMetaAttributeValue.__new__:
  - 137
  - 139
  - 134
  - 135
  bs4.element.ContentMetaAttributeValue.encode:
  - 144
  - 148
  bs4.element.ContentMetaAttributeValue.encode.rewrite:
  - 147
  bs4.element.Declaration:
  - 1083
  bs4.element.Doctype:
  - 1089
  bs4.element.Doctype.for_name_and_ids:
  - 1092
  - 1104
  - 1106
  - 1108
  - 1111
  bs4.element.NamespacedAttribute:
  - 76
  bs4.element.NamespacedAttribute.__new__:
  - 81
  - 86
  - 87
  - 88
  - 90
  - 92
  bs4.element.NavigableString:
  - 918
  - 1031
  bs4.element.NavigableString.__copy__:
  - 948
  - 951
  bs4.element.NavigableString.__getattr__:
  - 960
  - 957
  bs4.element.NavigableString.__getnewargs__:
  - 954
  bs4.element.NavigableString.__new__:
  - 933
  - 940
  - 941
  - 943
  - 944
  bs4.element.NavigableString._all_strings:
  - 1027
  - 1028
  - 1029
  - 1030
  - 1009
  - 1016
  - 1017
  - 1018
  - 1020
  - 1022
  - 991
  bs4.element.NavigableString.name:
  - 977
  - 987
  bs4.element.NavigableString.output_ready:
  - 968
  - 972
  bs4.element.PageElement:
  - 256
  - 258
  - 297
  - 152
  - 255
  bs4.element.PageElement._all_strings:
  - 260
  bs4.element.PageElement._find_all:
  - 781
  - 783
  - 787
  - 790
  - 792
  - 793
  - 796
  - 797
  - 798
  - 800
  - 804
  - 809
  - 817
  - 818
  - 821
  - 824
  - 825
  - 826
  - 827
  - 828
  bs4.element.PageElement._find_one:
  - 776
  - 775
  bs4.element.PageElement._is_xml:
  - 240
  - 248
  - 234
  - 252
  bs4.element.PageElement._last_descendant:
  - 400
  - 402
  - 396
  - 390
  bs4.element.PageElement.append:
  - 491
  - 495
  bs4.element.PageElement.decomposed:
  - 897
  - 893
  bs4.element.PageElement.extend:
  - 498
  - 502
  - 506
  - 507
  - 508
  bs4.element.PageElement.extract:
  - 352
  - 360
  - 361
  - 362
  - 368
  - 371
  - 374
  - 380
  - 383
  bs4.element.PageElement.find_all_next:
  - 577
  - 590
  bs4.element.PageElement.find_all_previous:
  - 667
  - 653
  bs4.element.PageElement.find_next:
  - 572
  - 559
  bs4.element.PageElement.find_next_sibling:
  - 608
  - 595
  bs4.element.PageElement.find_next_siblings:
  - 628
  - 614
  bs4.element.PageElement.find_parent:
  - 712
  - 729
  - 728
  bs4.element.PageElement.find_parents:
  - 748
  - 735
  bs4.element.PageElement.find_previous:
  - 634
  - 647
  bs4.element.PageElement.find_previous_sibling:
  - 673
  - 686
  bs4.element.PageElement.find_previous_siblings:
  - 706
  - 692
  bs4.element.PageElement.format_string:
  - 200
  - 205
  - 207
  - 208
  - 209
  bs4.element.PageElement.formatter_for_name:
  - 224
  - 228
  - 229
  - 213
  - 222
  bs4.element.PageElement.get_text:
  - 277
  - 294
  bs4.element.PageElement.insert:
  - 409
  - 417
  - 419
  - 421
  - 422
  - 423
  - 426
  - 429
  - 430
  - 433
  - 434
  - 437
  - 438
  - 439
  - 445
  - 449
  - 456
  - 457
  - 460
  - 462
  - 470
  - 473
  - 482
  - 486
  - 488
  bs4.element.PageElement.insert_after:
  - 545
  - 549
  - 552
  - 553
  - 554
  - 555
  - 533
  - 542
  bs4.element.PageElement.insert_before:
  - 519
  - 522
  - 524
  - 527
  - 528
  - 529
  - 530
  - 511
  bs4.element.PageElement.next:
  - 755
  bs4.element.PageElement.next_elements:
  - 842
  - 836
  bs4.element.PageElement.next_siblings:
  - 854
  - 847
  bs4.element.PageElement.parents:
  - 888
  - 882
  bs4.element.PageElement.previous:
  - 764
  bs4.element.PageElement.previous_elements:
  - 865
  - 859
  bs4.element.PageElement.previous_siblings:
  - 877
  - 870
  bs4.element.PageElement.replace_with:
  - 300
  - 306
  - 310
  - 312
  - 315
  - 316
  - 317
  - 318
  bs4.element.PageElement.setup:
  - 160
  - 196
  - 180
  - 184
  - 188
  - 191
  bs4.element.PageElement.stripped_strings:
  - 272
  - 273
  - 268
  bs4.element.PageElement.unwrap:
  - 323
  - 328
  - 332
  - 333
  - 334
  - 335
  bs4.element.PageElement.wrap:
  - 347
  - 348
  - 341
  bs4.element.PreformattedString:
  - 1034
  bs4.element.PreformattedString.output_ready:
  - 1056
  - 1057
  - 1045
  bs4.element.ProcessingInstruction:
  - 1066
  bs4.element.ResultSet:
  - 2240
  bs4.element.ResultSet.__getattr__:
  - 2252
  bs4.element.ResultSet.__init__:
  - 2248
  - 2243
  bs4.element.Script:
  - 1127
  bs4.element.SoupStrainer:
  - 1976
  bs4.element.SoupStrainer.__init__:
  - 2017
  - 1986
  - 2018
  - 2021
  - 1997
  - 1998
  - 2004
  - 2010
  - 2011
  - 2012
  - 2013
  bs4.element.SoupStrainer.__str__:
  - 2054
  - 2055
  bs4.element.SoupStrainer._matches:
  - 2176
  - 2177
  - 2182
  - 2186
  - 2188
  - 2192
  - 2193
  - 2200
  - 2201
  - 2202
  - 2203
  - 2206
  - 2207
  - 2210
  - 2211
  - 2220
  - 2224
  - 2226
  - 2228
  - 2229
  - 2232
  - 2159
  - 2162
  - 2163
  - 2168
  - 2172
  bs4.element.SoupStrainer._normalize_search_value:
  - 2051
  - 2026
  - 2027
  - 2031
  - 2032
  - 2035
  - 2037
  - 2038
  - 2039
  - 2043
  - 2045
  bs4.element.SoupStrainer.search:
  - 2144
  - 2145
  - 2147
  - 2148
  - 2149
  - 2124
  - 2135
  - 2136
  - 2137
  - 2138
  - 2143
  bs4.element.SoupStrainer.search_tag:
  - 2061
  - 2075
  - 2079
  - 2083
  - 2087
  - 2088
  - 2090
  - 2092
  - 2093
  - 2094
  - 2095
  - 2099
  - 2100
  - 2101
  - 2105
  - 2107
  - 2108
  - 2111
  - 2112
  - 2116
  bs4.element.Stylesheet:
  - 1118
  bs4.element.Tag:
  - 1264
  - 1145
  - 1589
  - 1366
  bs4.element.Tag.__bool__:
  - 1500
  bs4.element.Tag.__call__:
  - 1513
  - 1516
  bs4.element.Tag.__copy__:
  - 1280
  - 1281
  - 1267
  - 1270
  - 1278
  - 1279
  bs4.element.Tag.__delitem__:
  - 1509
  - 1510
  bs4.element.Tag.__eq__:
  - 1537
  - 1539
  - 1541
  - 1542
  - 1543
  - 1546
  - 1548
  - 1549
  bs4.element.Tag.__getattr__:
  - 1519
  - 1521
  - 1524
  - 1525
  - 1529
  - 1531
  - 1532
  bs4.element.Tag.__getitem__:
  - 1484
  bs4.element.Tag.__hash__:
  - 1481
  bs4.element.Tag.__init__:
  - 1219
  - 1241
  - 1191
  - 1159
  - 1225
  - 1257
  - 1228
  - 1197
  - 1202
  - 1206
  - 1238
  - 1208
  - 1209
  - 1210
  - 1213
  - 1215
  bs4.element.Tag.__iter__:
  - 1489
  - 1490
  bs4.element.Tag.__len__:
  - 1493
  - 1494
  bs4.element.Tag.__ne__:
  - 1554
  bs4.element.Tag.__repr__:
  - 1567
  - 1565
  - 1572
  - 1559
  bs4.element.Tag.__setitem__:
  - 1504
  bs4.element.Tag.__str__:
  - 1584
  - 1585
  - 1579
  - 1587
  bs4.element.Tag.__unicode__:
  - 1576
  - 1575
  bs4.element.Tag._all_strings:
  - 1347
  - 1350
  - 1351
  - 1353
  - 1354
  - 1355
  - 1358
  - 1361
  - 1362
  - 1331
  - 1363
  - 1365
  bs4.element.Tag._should_pretty_print:
  - 1718
  bs4.element.Tag.childGenerator:
  - 1957
  bs4.element.Tag.children:
  - 1880
  - 1875
  bs4.element.Tag.clear:
  - 1389
  - 1395
  - 1396
  - 1397
  - 1398
  - 1400
  - 1402
  - 1403
  bs4.element.Tag.decode:
  - 1665
  - 1668
  - 1673
  - 1676
  - 1678
  - 1683
  - 1687
  - 1693
  - 1694
  - 1695
  - 1698
  - 1699
  - 1701
  - 1702
  - 1703
  - 1704
  - 1705
  - 1706
  - 1707
  - 1708
  - 1709
  - 1713
  - 1714
  - 1619
  - 1638
  - 1639
  - 1640
  - 1642
  - 1643
  - 1646
  - 1647
  - 1648
  - 1649
  - 1650
  - 1651
  - 1654
  - 1656
  - 1658
  - 1659
  - 1660
  bs4.element.Tag.decode_contents:
  - 1767
  - 1768
  - 1772
  - 1774
  - 1775
  - 1776
  - 1777
  - 1749
  - 1782
  - 1783
  - 1784
  - 1785
  - 1786
  - 1787
  - 1788
  - 1789
  - 1790
  bs4.element.Tag.decompose:
  - 1369
  - 1379
  - 1383
  bs4.element.Tag.descendants:
  - 1889
  - 1891
  - 1884
  - 1894
  bs4.element.Tag.encode:
  - 1595
  - 1613
  - 1614
  bs4.element.Tag.encode_contents:
  - 1808
  - 1809
  - 1795
  bs4.element.Tag.find:
  - 1824
  - 1841
  - 1842
  bs4.element.Tag.find_all:
  - 1849
  - 1866
  - 1868
  bs4.element.Tag.get:
  - 1457
  - 1460
  bs4.element.Tag.get_attribute_list:
  - 1472
  - 1471
  - 1463
  bs4.element.Tag.has_attr:
  - 1477
  bs4.element.Tag.has_key:
  - 1970
  - 1972
  - 1965
  bs4.element.Tag.index:
  - 1452
  - 1451
  - 1444
  bs4.element.Tag.is_empty_element:
  - 1299
  - 1286
  bs4.element.Tag.prettify:
  - 1744
  - 1732
  - 1741
  - 1742
  bs4.element.Tag.recursiveChildGenerator:
  - 1961
  bs4.element.Tag.renderContents:
  - 1817
  - 1814
  - 1815
  bs4.element.Tag.select:
  - 1920
  - 1953
  - 1939
  - 1942
  - 1944
  - 1949
  bs4.element.Tag.select_one:
  - 1915
  - 1914
  - 1899
  bs4.element.Tag.smooth:
  - 1440
  - 1441
  - 1417
  - 1418
  - 1420
  - 1421
  - 1426
  - 1427
  - 1428
  - 1429
  - 1431
  - 1436
  - 1406
  - 1439
  bs4.element.Tag.string:
  - 1316
  - 1319
  - 1325
  - 1326
  - 1327
  - 1304
  bs4.element.TemplateString:
  - 1136
  bs4.element.XMLProcessingInstruction:
  - 1072
  bs4.element._alias:
  - 35
  bs4.element._alias.alias:
  - 42
  - 38
  bs4.formatter:
  - 160
  - 163
  - 164
  - 143
  - 146
  - 151
  - 154
  - 157
  bs4.formatter.Formatter:
  - 4
  - 38
  - 39
  bs4.formatter.Formatter.__init__:
  - 76
  - 54
  bs4.formatter.Formatter._default:
  - 43
  - 45
  - 46
  bs4.formatter.Formatter.attribute_value:
  - 108
  - 102
  bs4.formatter.Formatter.attributes:
  - 121
  - 123
  - 125
  - 111
  bs4.formatter.Formatter.substitute:
  - 82
  - 99
  - 93
  - 90
  bs4.formatter.HTMLFormatter:
  - 129
  bs4.formatter.HTMLFormatter.__init__:
  - 132
  bs4.formatter.XMLFormatter:
  - 136
  bs4.formatter.XMLFormatter.__init__:
  - 139
  bs4.testing:
  - 2
  bs4.testing.HTML5TreeBuilderSmokeTest:
  - 1092
  bs4.testing.HTML5TreeBuilderSmokeTest.test_html_tags_have_namespace:
  - 1101
  - 1102
  bs4.testing.HTML5TreeBuilderSmokeTest.test_mathml_tags_have_namespace:
  - 1114
  - 1116
  - 1117
  bs4.testing.HTML5TreeBuilderSmokeTest.test_svg_tags_have_namespace:
  - 1106
  - 1108
  - 1109
  bs4.testing.HTML5TreeBuilderSmokeTest.test_xml_declaration_becomes_comment:
  - 1121
  - 1122
  - 1123
  - 1124
  bs4.testing.HTMLTreeBuilderSmokeTest:
  - 268
  bs4.testing.HTMLTreeBuilderSmokeTest._document_with_doctype:
  - 331
  - 334
  - 335
  bs4.testing.HTMLTreeBuilderSmokeTest.assertDoctypeHandled:
  - 320
  - 321
  - 322
  - 328
  - 314
  - 315
  - 319
  bs4.testing.HTMLTreeBuilderSmokeTest.test_ampersand_in_attribute_value_gets_escaped:
  - 729
  - 732
  bs4.testing.HTMLTreeBuilderSmokeTest.test_angle_brackets_in_attribute_values_are_escaped:
  - 576
  bs4.testing.HTMLTreeBuilderSmokeTest.test_apos_entity:
  - 587
  bs4.testing.HTMLTreeBuilderSmokeTest.test_attribute_values_with_double_nested_quotes_get_quoted:
  - 722
  - 724
  - 725
  bs4.testing.HTMLTreeBuilderSmokeTest.test_attribute_values_with_nested_quotes_are_left_alone:
  - 718
  bs4.testing.HTMLTreeBuilderSmokeTest.test_basic_namespaces:
  - 676
  - 677
  - 679
  - 680
  - 682
  - 671
  bs4.testing.HTMLTreeBuilderSmokeTest.test_br_is_always_empty_element_tag:
  - 452
  - 453
  - 454
  - 447
  bs4.testing.HTMLTreeBuilderSmokeTest.test_can_parse_unicode_document:
  - 702
  - 703
  bs4.testing.HTMLTreeBuilderSmokeTest.test_closing_tag_with_no_opening_tag:
  - 907
  - 908
  - 909
  bs4.testing.HTMLTreeBuilderSmokeTest.test_comment:
  - 481
  - 482
  - 483
  - 486
  - 487
  - 488
  - 489
  - 479
  bs4.testing.HTMLTreeBuilderSmokeTest.test_correctly_nested_tables:
  - 528
  - 536
  - 542
  bs4.testing.HTMLTreeBuilderSmokeTest.test_deepcopy:
  - 424
  - 419
  bs4.testing.HTMLTreeBuilderSmokeTest.test_deeply_nested_multivalued_attribute:
  - 564
  - 565
  bs4.testing.HTMLTreeBuilderSmokeTest.test_double_head:
  - 473
  - 474
  bs4.testing.HTMLTreeBuilderSmokeTest.test_empty_doctype:
  - 344
  - 346
  bs4.testing.HTMLTreeBuilderSmokeTest.test_empty_element_tags:
  - 636
  - 640
  - 277
  - 280
  - 284
  - 285
  - 286
  - 639
  bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_converted_on_the_way_out:
  - 761
  - 762
  - 763
  bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_attributes_converted_to_unicode:
  - 608
  - 609
  - 606
  - 607
  bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_foreign_document_encoding:
  - 601
  - 602
  bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_strings_converted_during_parsing:
  - 744
  bs4.testing.HTMLTreeBuilderSmokeTest.test_entities_in_text_converted_to_unicode:
  - 616
  - 613
  - 614
  - 615
  bs4.testing.HTMLTreeBuilderSmokeTest.test_escaped_ampersand_in_attribute_value_is_left_alone:
  - 737
  bs4.testing.HTMLTreeBuilderSmokeTest.test_head_tag_between_head_and_body:
  - 649
  - 650
  - 643
  - 651
  bs4.testing.HTMLTreeBuilderSmokeTest.test_html5_style_meta_tag_reflects_current_encoding:
  - 865
  - 868
  - 872
  - 860
  - 863
  bs4.testing.HTMLTreeBuilderSmokeTest.test_meta_tag_reflects_current_encoding:
  - 833
  - 836
  - 838
  - 841
  - 845
  bs4.testing.HTMLTreeBuilderSmokeTest.test_mixed_case_doctype:
  - 358
  - 359
  - 360
  - 361
  - 367
  - 350
  - 351
  bs4.testing.HTMLTreeBuilderSmokeTest.test_multipart_strings:
  - 629
  - 630
  - 631
  - 632
  - 633
  bs4.testing.HTMLTreeBuilderSmokeTest.test_multiple_copies_of_a_tag:
  - 667
  - 668
  - 654
  bs4.testing.HTMLTreeBuilderSmokeTest.test_multivalued_attribute_on_html:
  - 572
  - 573
  bs4.testing.HTMLTreeBuilderSmokeTest.test_multivalued_attribute_value_becomes_list:
  - 688
  - 687
  bs4.testing.HTMLTreeBuilderSmokeTest.test_multivalued_attribute_with_whitespace:
  - 552
  - 553
  - 557
  bs4.testing.HTMLTreeBuilderSmokeTest.test_namespaced_html:
  - 402
  - 403
  - 398
  bs4.testing.HTMLTreeBuilderSmokeTest.test_namespaced_public_doctype:
  - 382
  bs4.testing.HTMLTreeBuilderSmokeTest.test_namespaced_system_doctype:
  - 378
  bs4.testing.HTMLTreeBuilderSmokeTest.test_nested_block_level_elements:
  - 521
  - 522
  - 524
  - 525
  bs4.testing.HTMLTreeBuilderSmokeTest.test_nested_formatting_elements:
  - 457
  bs4.testing.HTMLTreeBuilderSmokeTest.test_nested_inline_elements:
  - 512
  - 515
  - 510
  - 518
  bs4.testing.HTMLTreeBuilderSmokeTest.test_non_breaking_spaces_converted_on_the_way_in:
  - 756
  - 757
  bs4.testing.HTMLTreeBuilderSmokeTest.test_normal_doctypes:
  - 338
  - 339
  - 340
  bs4.testing.HTMLTreeBuilderSmokeTest.test_out_of_range_entity:
  - 624
  - 625
  - 626
  bs4.testing.HTMLTreeBuilderSmokeTest.test_p_tag_is_never_empty_element:
  - 432
  - 433
  - 434
  - 427
  bs4.testing.HTMLTreeBuilderSmokeTest.test_pickle_and_unpickle_identity:
  - 307
  - 308
  - 309
  - 310
  - 311
  bs4.testing.HTMLTreeBuilderSmokeTest.test_preserved_whitespace_in_pre_and_textarea:
  - 492
  - 497
  - 498
  - 500
  - 501
  - 503
  - 504
  - 506
  - 507
  bs4.testing.HTMLTreeBuilderSmokeTest.test_processing_instruction:
  - 416
  - 411
  - 412
  - 415
  bs4.testing.HTMLTreeBuilderSmokeTest.test_public_doctype_with_url:
  - 371
  bs4.testing.HTMLTreeBuilderSmokeTest.test_python_specific_encodings_not_used_in_charset:
  - 879
  - 883
  - 884
  - 885
  - 893
  - 895
  bs4.testing.HTMLTreeBuilderSmokeTest.test_quot_entity_converted_to_quotation_mark:
  - 619
  bs4.testing.HTMLTreeBuilderSmokeTest.test_real_hebrew_document:
  - 818
  - 819
  - 820
  - 813
  bs4.testing.HTMLTreeBuilderSmokeTest.test_real_iso_latin_document:
  - 774
  - 777
  - 779
  - 784
  - 787
  - 790
  bs4.testing.HTMLTreeBuilderSmokeTest.test_real_shift_jis_document:
  - 801
  - 802
  - 806
  - 807
  bs4.testing.HTMLTreeBuilderSmokeTest.test_real_xhtml_document:
  - 385
  - 392
  - 393
  - 394
  - 395
  bs4.testing.HTMLTreeBuilderSmokeTest.test_single_quote_attribute_values_become_double_quotes:
  - 713
  bs4.testing.HTMLTreeBuilderSmokeTest.test_smart_quotes_converted_on_the_way_in:
  - 750
  - 751
  bs4.testing.HTMLTreeBuilderSmokeTest.test_soupstrainer:
  - 706
  - 707
  - 708
  - 710
  bs4.testing.HTMLTreeBuilderSmokeTest.test_special_string_containers:
  - 289
  - 292
  - 293
  - 295
  - 298
  - 301
  - 302
  bs4.testing.HTMLTreeBuilderSmokeTest.test_strings_resembling_character_entity_references:
  - 581
  bs4.testing.HTMLTreeBuilderSmokeTest.test_system_doctype:
  - 374
  bs4.testing.HTMLTreeBuilderSmokeTest.test_tag_with_no_attributes_can_have_attributes_added:
  - 898
  - 900
  bs4.testing.HTMLTreeBuilderSmokeTest.test_unclosed_tags_get_closed:
  - 441
  - 442
  - 444
  - 437
  bs4.testing.HTMLTreeBuilderSmokeTest.test_worst_case:
  - 913
  - 915
  - 916
  bs4.testing.SoupTest.assertConnectedness:
  - 107
  - 111
  - 112
  - 113
  - 114
  bs4.testing.SoupTest.assertSoupEquals:
  - 98
  - 102
  - 86
  - 87
  - 91
  bs4.testing.SoupTest.document_for:
  - 82
  - 78
  bs4.testing.SoupTest.linkage_validator:
  - 128
  - 132
  - 139
  - 140
  - 145
  - 146
  - 148
  - 152
  - 156
  - 164
  - 168
  - 172
  - 174
  - 178
  - 182
  - 183
  - 186
  - 191
  - 197
  - 199
  - 205
  - 208
  - 211
  - 213
  - 217
  - 219
  - 118
  - 122
  - 124
  bs4.testing.SoupTest.soup:
  - 73
  - 74
  - 75
  bs4.testing.TreeBuilderSmokeTest.test_fuzzed_input:
  - 261
  - 262
  - 263
  bs4.testing.XMLTreeBuilderSmokeTest.test_can_parse_unicode_document:
  - 1001
  - 1002
  bs4.testing.XMLTreeBuilderSmokeTest.test_closing_namespaced_tag:
  - 1038
  - 1039
  bs4.testing.XMLTreeBuilderSmokeTest.test_copy_tag_preserves_namespace:
  - 1082
  - 1077
  - 1079
  bs4.testing.XMLTreeBuilderSmokeTest.test_docstring_generated:
  - 931
  - 932
  - 933
  bs4.testing.XMLTreeBuilderSmokeTest.test_docstring_includes_correct_encoding:
  - 1011
  - 1012
  - 1013
  bs4.testing.XMLTreeBuilderSmokeTest.test_find_by_prefixed_name:
  - 1061
  - 1064
  - 1067
  - 1068
  - 1070
  - 1071
  bs4.testing.XMLTreeBuilderSmokeTest.test_formatter_processes_script_tag_for_xml_documents:
  - 992
  - 996
  - 997
  bs4.testing.XMLTreeBuilderSmokeTest.test_large_xml_document:
  - 1017
  - 1021
  - 1022
  bs4.testing.XMLTreeBuilderSmokeTest.test_namespaced_attributes:
  - 1043
  - 1044
  bs4.testing.XMLTreeBuilderSmokeTest.test_namespaced_attributes_xml_namespace:
  - 1048
  - 1049
  bs4.testing.XMLTreeBuilderSmokeTest.test_namespaces_are_preserved:
  - 1033
  - 1034
  - 1031
  bs4.testing.XMLTreeBuilderSmokeTest.test_nested_namespaces:
  - 984
  - 985
  bs4.testing.XMLTreeBuilderSmokeTest.test_pickle_and_unpickle_identity:
  - 928
  - 924
  - 925
  - 926
  - 927
  bs4.testing.XMLTreeBuilderSmokeTest.test_popping_namespaced_tag:
  - 1008
  - 1006
  - 1007
  bs4.testing.XMLTreeBuilderSmokeTest.test_processing_instruction:
  - 961
  - 962
  bs4.testing.XMLTreeBuilderSmokeTest.test_python_specific_encodings_not_used_in_xml_declaration:
  - 945
  - 946
  - 947
  - 955
  - 957
  bs4.testing.XMLTreeBuilderSmokeTest.test_real_xhtml_document:
  - 973
  - 972
  - 965
  - 974
  bs4.testing.XMLTreeBuilderSmokeTest.test_tags_are_empty_element_if_and_only_if_they_are_empty:
  - 1026
  - 1027
  bs4.testing.XMLTreeBuilderSmokeTest.test_worst_case:
  - 1088
  - 1085
  - 1087
  bs4.testing.XMLTreeBuilderSmokeTest.test_xml_declaration:
  - 937
  - 938
  bs4.testing.skipIf.decorator:
  - 1131
  soupsieve:
  - 1
  soupsieve.__meta__:
  - 1
  - 196
  - 197
  - 6
  soupsieve.__meta__.Version:
  - 41
  soupsieve.__meta__.Version.__new__:
  - 99
  - 100
  - 102
  - 104
  - 108
  - 109
  - 111
  - 116
  - 118
  - 88
  - 121
  - 91
  - 92
  - 95
  soupsieve.__meta__.Version._get_canonical:
  - 144
  - 147
  - 151
  - 153
  - 155
  soupsieve.__meta__.Version._get_dev_status:
  - 139
  soupsieve.__meta__.Version._is_dev:
  - 129
  - 131
  soupsieve.__meta__.Version._is_post:
  - 136
  - 134
  soupsieve.__meta__.Version._is_pre:
  - 124
  - 126
  soupsieve.__meta__.parse_version:
  - 193
  - 162
  - 164
  - 166
  - 170
  - 171
  - 172
  - 175
  - 176
  - 177
  - 183
  - 184
  - 185
  - 191
  soupsieve.closest:
  - 88
  - 90
  soupsieve.compile:
  - 65
  - 67
  - 68
  - 54
  - 56
  - 57
  - 59
  - 61
  soupsieve.css_match:
  - 1
  - 40
  - 41
  - 42
  - 43
  - 12
  - 44
  - 14
  - 45
  - 48
  - 1645
  soupsieve.css_match.CSSMatch:
  - 536
  soupsieve.css_match.CSSMatch.__init__:
  - 576
  - 545
  - 547
  - 559
  - 562
  - 564
  - 567
  - 573
  soupsieve.css_match.CSSMatch.closest:
  - 1545
  - 1537
  - 1542
  soupsieve.css_match.CSSMatch.extended_language_filter:
  - 672
  - 700
  - 654
  - 657
  - 658
  - 659
  - 660
  - 661
  - 690
  - 695
  - 668
  soupsieve.css_match.CSSMatch.filter:
  - 1552
  - 1553
  - 1549
  soupsieve.css_match.CSSMatch.find_bidi:
  - 643
  - 647
  - 648
  - 617
  - 649
  - 619
  - 622
  - 625
  - 626
  - 627
  - 629
  - 635
  - 636
  soupsieve.css_match.CSSMatch.get_prefix:
  - 611
  - 613
  - 614
  soupsieve.css_match.CSSMatch.get_tag:
  - 608
  - 605
  - 607
  soupsieve.css_match.CSSMatch.get_tag_ns:
  - 585
  - 588
  - 591
  - 592
  - 593
  soupsieve.css_match.CSSMatch.is_html_tag:
  - 600
  - 602
  soupsieve.css_match.CSSMatch.match:
  - 1557
  - 1559
  soupsieve.css_match.CSSMatch.match_attribute_name:
  - 736
  - 745
  - 715
  - 749
  - 718
  - 721
  - 722
  - 723
  - 755
  - 756
  - 728
  - 731
  - 735
  soupsieve.css_match.CSSMatch.match_attributes:
  - 784
  - 787
  - 788
  - 789
  - 791
  - 794
  - 795
  - 797
  soupsieve.css_match.CSSMatch.match_classes:
  - 914
  - 916
  - 918
  - 919
  soupsieve.css_match.CSSMatch.match_contains:
  - 1091
  - 1092
  - 1093
  - 1094
  - 1096
  - 1098
  - 1099
  - 1100
  - 1101
  - 1104
  - 1107
  - 1110
  - 1087
  soupsieve.css_match.CSSMatch.match_default:
  - 1121
  - 1123
  - 1126
  - 1128
  - 1131
  - 1132
  - 1147
  - 1134
  - 1139
  - 1140
  - 1141
  - 1143
  - 1145
  - 1146
  - 1115
  - 1148
  - 1149
  soupsieve.css_match.CSSMatch.match_defined:
  - 1415
  - 1418
  - 1419
  - 1420
  - 1402
  soupsieve.css_match.CSSMatch.match_dir:
  - 1303
  - 1306
  - 1309
  - 1313
  - 1314
  - 1318
  - 1319
  - 1323
  - 1327
  - 1328
  - 1332
  - 1333
  - 1334
  - 1336
  - 1337
  - 1338
  - 1339
  - 1340
  - 1345
  - 1347
  - 1350
  - 1351
  - 1352
  - 1354
  - 1356
  - 1359
  soupsieve.css_match.CSSMatch.match_empty:
  - 1072
  - 1065
  - 1068
  - 1069
  soupsieve.css_match.CSSMatch.match_future_child:
  - 852
  - 855
  - 859
  - 860
  - 861
  soupsieve.css_match.CSSMatch.match_future_relations:
  - 866
  - 870
  - 873
  - 874
  - 875
  - 876
  - 877
  - 878
  - 880
  - 881
  - 882
  - 883
  - 884
  - 885
  soupsieve.css_match.CSSMatch.match_id:
  - 904
  - 907
  - 908
  soupsieve.css_match.CSSMatch.match_indeterminate:
  - 1155
  - 1158
  - 1175
  - 1178
  - 1180
  - 1181
  - 1183
  - 1188
  - 1190
  - 1191
  - 1193
  - 1194
  - 1198
  - 1199
  - 1201
  - 1203
  - 1205
  - 1208
  - 1210
  - 1212
  soupsieve.css_match.CSSMatch.match_indeterminate.get_parent_form:
  - 1161
  - 1163
  - 1165
  - 1169
  - 1170
  soupsieve.css_match.CSSMatch.match_lang:
  - 1281
  - 1283
  - 1285
  - 1287
  - 1288
  - 1291
  - 1292
  - 1294
  - 1295
  - 1297
  - 1217
  - 1220
  - 1229
  - 1230
  - 1231
  - 1232
  - 1233
  - 1236
  - 1242
  - 1244
  - 1246
  - 1251
  - 1252
  - 1253
  - 1257
  - 1260
  - 1262
  - 1263
  - 1267
  - 1271
  - 1272
  - 1273
  - 1276
  - 1277
  - 1279
  soupsieve.css_match.CSSMatch.match_namespace:
  - 768
  - 770
  - 773
  - 776
  - 763
  - 766
  - 767
  soupsieve.css_match.CSSMatch.match_nth:
  - 1032
  - 1034
  - 1037
  - 1040
  - 1043
  - 1044
  - 1048
  - 1050
  - 1054
  - 1058
  - 1060
  - 964
  - 968
  - 970
  - 972
  - 973
  - 974
  - 976
  - 988
  - 993
  - 995
  - 1001
  - 1005
  - 1011
  - 1019
  soupsieve.css_match.CSSMatch.match_nth_tag_type:
  - 960
  - 956
  - 959
  soupsieve.css_match.CSSMatch.match_past_relations:
  - 832
  - 834
  - 835
  - 836
  - 837
  - 838
  - 839
  - 840
  - 841
  - 843
  - 844
  - 845
  - 846
  - 847
  - 848
  - 824
  - 828
  - 831
  soupsieve.css_match.CSSMatch.match_placeholder_shown:
  - 1425
  - 1433
  - 1434
  soupsieve.css_match.CSSMatch.match_range:
  - 1378
  - 1381
  - 1382
  - 1383
  - 1384
  - 1386
  - 1388
  - 1389
  - 1391
  - 1362
  - 1394
  - 1396
  - 1373
  - 1374
  - 1375
  soupsieve.css_match.CSSMatch.match_relations:
  - 896
  - 897
  - 899
  - 889
  - 893
  soupsieve.css_match.CSSMatch.match_root:
  - 928
  - 929
  - 931
  - 932
  - 933
  - 937
  - 938
  - 939
  - 941
  - 942
  - 943
  - 947
  - 925
  - 927
  soupsieve.css_match.CSSMatch.match_scope:
  - 951
  soupsieve.css_match.CSSMatch.match_selectors:
  - 1440
  - 1447
  - 1453
  - 1454
  - 1457
  - 1460
  - 1463
  - 1466
  - 1469
  - 1472
  - 1475
  - 1477
  - 1480
  - 1483
  - 1486
  - 1489
  - 1492
  - 1495
  - 1498
  - 1501
  - 1505
  - 1508
  - 1511
  - 1517
  soupsieve.css_match.CSSMatch.match_subselectors:
  - 1081
  - 1082
  - 1078
  soupsieve.css_match.CSSMatch.match_tag:
  - 817
  - 819
  - 812
  - 815
  soupsieve.css_match.CSSMatch.match_tagname:
  - 808
  - 803
  - 805
  soupsieve.css_match.CSSMatch.select:
  - 1524
  - 1528
  - 1529
  - 1530
  - 1531
  - 1533
  soupsieve.css_match.CSSMatch.supports_namespaces:
  - 580
  soupsieve.css_match.Inputs:
  - 433
  soupsieve.css_match.Inputs.parse_value:
  - 512
  - 513
  - 515
  - 516
  - 517
  - 518
  - 519
  - 520
  - 521
  - 522
  - 523
  - 524
  - 525
  - 528
  - 529
  - 530
  - 531
  - 481
  - 484
  - 486
  - 487
  - 488
  - 489
  - 490
  - 491
  - 492
  - 494
  - 495
  - 496
  - 497
  - 498
  - 499
  - 501
  - 502
  - 503
  - 504
  - 505
  - 506
  - 508
  - 509
  - 510
  - 511
  soupsieve.css_match.Inputs.validate_day:
  - 440
  - 442
  - 437
  soupsieve.css_match.Inputs.validate_hour:
  - 469
  soupsieve.css_match.Inputs.validate_minutes:
  - 475
  soupsieve.css_match.Inputs.validate_month:
  - 457
  soupsieve.css_match.Inputs.validate_week:
  - 448
  - 450
  - 451
  soupsieve.css_match.Inputs.validate_year:
  - 463
  soupsieve.css_match.SoupSieve:
  - 1563
  soupsieve.css_match.SoupSieve.__init__:
  - 1581
  - 1583
  soupsieve.css_match.SoupSieve.__repr__:
  - 1635
  soupsieve.css_match.SoupSieve.closest:
  - 1597
  - 1599
  soupsieve.css_match.SoupSieve.filter:
  - 1616
  - 1602
  - 1613
  - 1614
  soupsieve.css_match.SoupSieve.iselect:
  - 1632
  - 1630
  soupsieve.css_match.SoupSieve.match:
  - 1592
  - 1594
  soupsieve.css_match.SoupSieve.select:
  - 1625
  - 1627
  soupsieve.css_match.SoupSieve.select_one:
  - 1619
  - 1621
  soupsieve.css_match._DocumentNav:
  - 80
  soupsieve.css_match._DocumentNav.assert_valid_input:
  - 84
  - 87
  soupsieve.css_match._DocumentNav.create_fake_parent:
  - 133
  - 135
  soupsieve.css_match._DocumentNav.get_attribute_by_name:
  - 385
  - 387
  - 391
  - 392
  - 393
  - 382
  soupsieve.css_match._DocumentNav.get_children:
  - 194
  - 196
  - 197
  - 198
  - 205
  - 209
  - 210
  soupsieve.css_match._DocumentNav.get_classes:
  - 407
  - 409
  - 410
  - 411
  - 412
  soupsieve.css_match._DocumentNav.get_contents:
  - 169
  - 171
  - 172
  - 173
  soupsieve.css_match._DocumentNav.get_descendants:
  - 227
  - 229
  - 231
  - 233
  - 234
  - 238
  - 239
  - 240
  - 244
  - 247
  - 248
  - 252
  - 254
  - 255
  soupsieve.css_match._DocumentNav.get_next:
  - 297
  - 291
  - 294
  soupsieve.css_match._DocumentNav.get_next_tag:
  - 285
  - 287
  soupsieve.css_match._DocumentNav.get_own_text:
  - 425
  - 428
  soupsieve.css_match._DocumentNav.get_parent:
  - 258
  - 261
  soupsieve.css_match._DocumentNav.get_prefix_name:
  - 273
  soupsieve.css_match._DocumentNav.get_previous:
  - 313
  - 316
  - 310
  soupsieve.css_match._DocumentNav.get_previous_tag:
  - 304
  - 306
  soupsieve.css_match._DocumentNav.get_tag_children:
  - 184
  - 182
  soupsieve.css_match._DocumentNav.get_tag_descendants:
  - 217
  - 219
  soupsieve.css_match._DocumentNav.get_tag_name:
  - 267
  soupsieve.css_match._DocumentNav.get_text:
  - 417
  - 419
  - 420
  - 415
  soupsieve.css_match._DocumentNav.get_uri:
  - 279
  soupsieve.css_match._DocumentNav.has_html_ns:
  - 331
  - 330
  - 323
  soupsieve.css_match._DocumentNav.is_cdata:
  - 107
  - 108
  soupsieve.css_match._DocumentNav.is_content_string:
  - 129
  - 127
  soupsieve.css_match._DocumentNav.is_declaration:
  - 102
  - 103
  soupsieve.css_match._DocumentNav.is_doc:
  - 92
  - 93
  soupsieve.css_match._DocumentNav.is_iframe:
  - 144
  - 146
  - 149
  - 150
  - 151
  soupsieve.css_match._DocumentNav.is_navigable_string:
  - 117
  - 118
  soupsieve.css_match._DocumentNav.is_processing_instruction:
  - 112
  - 113
  soupsieve.css_match._DocumentNav.is_root:
  - 155
  - 164
  - 163
  - 165
  soupsieve.css_match._DocumentNav.is_special_string:
  - 122
  - 123
  soupsieve.css_match._DocumentNav.is_tag:
  - 97
  - 98
  soupsieve.css_match._DocumentNav.is_xml_tree:
  - 139
  - 141
  soupsieve.css_match._DocumentNav.iter_attributes:
  - 401
  - 402
  - 403
  - 399
  soupsieve.css_match._DocumentNav.normalize_value:
  - 355
  - 356
  - 359
  - 361
  - 362
  - 366
  - 369
  - 373
  - 344
  - 347
  - 351
  soupsieve.css_match._DocumentNav.split_namespace:
  - 337
  - 340
  - 335
  soupsieve.css_match._FakeParent:
  - 60
  soupsieve.css_match._FakeParent.__init__:
  - 69
  soupsieve.css_match._FakeParent.__len__:
  - 74
  - 76
  soupsieve.css_parser:
  - 1
  - 1159
  - 1288
  - 1163
  - 1169
  - 1306
  - 1181
  - 1314
  - 169
  - 170
  - 1195
  - 172
  - 174
  - 176
  - 177
  - 178
  - 179
  - 1205
  - 1211
  - 1215
  - 1219
  - 204
  - 1236
  - 1240
  - 1265
  - 1271
  soupsieve.css_parser.CSSParser:
  - 448
  - 449
  - 450
  - 451
  - 452
  - 453
  - 454
  - 455
  - 456
  - 429
  - 432
  - 433
  - 447
  soupsieve.css_parser.CSSParser.__init__:
  - 465
  - 467
  soupsieve.css_parser.CSSParser.parse_attribute_selector:
  - 514
  - 515
  - 516
  - 518
  - 521
  - 522
  - 525
  - 526
  - 529
  - 530
  - 532
  - 533
  - 534
  - 535
  - 537
  - 473
  - 476
  - 477
  - 478
  - 479
  - 484
  - 486
  - 492
  - 493
  - 494
  - 496
  - 498
  - 501
  - 503
  - 504
  - 506
  - 507
  - 509
  - 510
  soupsieve.css_parser.CSSParser.parse_class_id:
  - 864
  - 865
  - 867
  - 861
  - 863
  soupsieve.css_parser.CSSParser.parse_combinator:
  - 837
  - 840
  - 842
  - 843
  - 845
  - 846
  - 847
  - 855
  - 850
  - 853
  - 823
  - 825
  - 826
  - 828
  - 829
  soupsieve.css_parser.CSSParser.parse_has_combinator:
  - 808
  - 778
  - 780
  - 781
  - 783
  - 785
  - 787
  - 789
  - 792
  - 793
  soupsieve.css_parser.CSSParser.parse_pseudo_class:
  - 640
  - 641
  - 642
  - 643
  - 644
  - 650
  - 651
  - 658
  - 659
  - 662
  - 665
  - 587
  - 590
  - 591
  - 593
  - 594
  - 595
  - 596
  - 598
  - 601
  - 603
  - 605
  - 606
  - 607
  - 608
  - 609
  - 610
  - 611
  - 612
  - 613
  - 614
  - 615
  - 616
  - 617
  - 618
  - 619
  - 620
  - 621
  - 622
  - 623
  - 624
  - 625
  - 626
  - 627
  - 628
  - 629
  - 630
  - 631
  - 632
  - 633
  - 634
  - 635
  - 636
  - 637
  - 638
  - 639
  soupsieve.css_parser.CSSParser.parse_pseudo_class_custom:
  - 552
  - 559
  - 560
  - 561
  - 568
  - 570
  - 575
  soupsieve.css_parser.CSSParser.parse_pseudo_contains:
  - 872
  - 874
  - 875
  - 876
  - 881
  - 883
  - 884
  - 886
  - 887
  - 888
  - 890
  - 891
  - 892
  soupsieve.css_parser.CSSParser.parse_pseudo_dir:
  - 920
  - 918
  soupsieve.css_parser.CSSParser.parse_pseudo_lang:
  - 897
  - 899
  - 901
  - 902
  - 904
  - 905
  - 906
  - 908
  - 910
  - 912
  soupsieve.css_parser.CSSParser.parse_pseudo_nth:
  - 688
  - 690
  - 691
  - 695
  - 696
  - 697
  - 702
  - 708
  - 709
  - 710
  - 711
  - 712
  - 714
  - 718
  - 719
  - 720
  - 723
  - 724
  - 727
  - 728
  - 730
  - 734
  - 735
  - 736
  - 737
  - 739
  - 740
  - 741
  - 742
  soupsieve.css_parser.CSSParser.parse_pseudo_open:
  - 754
  - 757
  - 759
  - 761
  - 764
  soupsieve.css_parser.CSSParser.parse_selectors:
  - 1027
  - 1028
  - 1029
  - 1033
  - 1036
  - 1037
  - 1038
  - 1039
  - 1045
  - 1046
  - 1047
  - 1049
  - 1054
  - 1062
  - 1063
  - 1065
  - 1066
  - 1068
  - 1070
  - 1072
  - 1075
  - 1079
  - 1082
  - 1094
  - 1096
  - 1098
  - 1100
  - 1102
  - 1106
  - 931
  - 934
  - 942
  - 943
  - 944
  - 945
  - 946
  - 947
  - 948
  - 949
  - 950
  - 951
  - 952
  - 955
  - 956
  - 957
  - 958
  - 959
  - 960
  - 961
  - 962
  - 963
  - 964
  - 965
  - 966
  - 967
  - 968
  - 969
  - 970
  - 971
  - 972
  - 973
  - 974
  - 975
  - 976
  - 977
  - 980
  - 981
  - 985
  - 988
  - 990
  - 993
  - 994
  - 995
  - 996
  - 997
  - 999
  - 1000
  - 1001
  - 1002
  - 1003
  - 1004
  - 1005
  - 1006
  - 1009
  - 1010
  - 1011
  - 1018
  soupsieve.css_parser.CSSParser.parse_tag_pattern:
  - 545
  - 546
  - 547
  - 543
  soupsieve.css_parser.CSSParser.process_selectors:
  - 1152
  - 1150
  soupsieve.css_parser.CSSParser.selector_iter:
  - 1109
  - 1112
  - 1113
  - 1114
  - 1115
  - 1117
  - 1118
  - 1121
  - 1122
  - 1123
  - 1124
  - 1125
  - 1126
  - 1127
  - 1128
  - 1130
  - 1135
  - 1137
  - 1139
  - 1141
  - 1146
  - 1147
  soupsieve.css_parser.SelectorPattern:
  - 304
  soupsieve.css_parser.SelectorPattern.__init__:
  - 307
  - 310
  soupsieve.css_parser.SelectorPattern.get_name:
  - 313
  soupsieve.css_parser.SelectorPattern.match:
  - 320
  - 318
  soupsieve.css_parser.SpecialPseudoPattern:
  - 324
  soupsieve.css_parser.SpecialPseudoPattern.__init__:
  - 327
  - 330
  - 332
  - 333
  - 337
  soupsieve.css_parser.SpecialPseudoPattern.get_name:
  - 340
  - 342
  soupsieve.css_parser.SpecialPseudoPattern.match:
  - 352
  - 353
  - 354
  - 345
  - 348
  - 349
  - 350
  - 351
  soupsieve.css_parser._Selector:
  - 361
  soupsieve.css_parser._Selector.__init__:
  - 370
  - 372
  - 373
  - 374
  - 375
  - 376
  - 377
  - 378
  - 379
  - 380
  - 381
  - 382
  - 383
  soupsieve.css_parser._Selector.__str__:
  - 416
  soupsieve.css_parser._Selector._freeze_relations:
  - 386
  - 388
  - 390
  - 391
  - 393
  soupsieve.css_parser._Selector.freeze:
  - 396
  - 398
  - 399
  - 401
  - 403
  - 404
  - 405
  - 406
  - 407
  - 408
  - 410
  - 411
  soupsieve.css_parser._cached_css_compile:
  - 216
  - 211
  - 213
  - 214
  soupsieve.css_parser._purge_cache:
  - 228
  - 230
  soupsieve.css_parser.css_unescape:
  - 272
  - 249
  soupsieve.css_parser.css_unescape.replace:
  - 256
  - 258
  - 259
  - 260
  - 262
  - 263
  - 264
  - 265
  soupsieve.css_parser.escape:
  - 288
  - 289
  - 290
  - 291
  - 292
  - 293
  - 297
  - 299
  - 300
  - 276
  - 279
  - 281
  - 283
  - 285
  - 286
  - 287
  soupsieve.css_parser.process_custom:
  - 234
  - 237
  - 238
  - 239
  - 240
  - 242
  - 244
  soupsieve.css_types:
  - 1
  - 400
  - 401
  - 402
  - 403
  - 404
  - 405
  - 406
  - 407
  soupsieve.css_types.CustomSelectors:
  - 166
  soupsieve.css_types.CustomSelectors.__init__:
  - 169
  - 171
  soupsieve.css_types.CustomSelectors._validate:
  - 176
  - 177
  - 179
  - 174
  soupsieve.css_types.Immutable:
  - 35
  soupsieve.css_types.Immutable.__base__:
  - 53
  soupsieve.css_types.Immutable.__eq__:
  - 58
  - 61
  - 62
  soupsieve.css_types.Immutable.__hash__:
  - 74
  soupsieve.css_types.Immutable.__init__:
  - 42
  - 45
  - 46
  - 47
  - 48
  - 49
  soupsieve.css_types.Immutable.__ne__:
  - 66
  - 69
  - 70
  soupsieve.css_types.Immutable.__repr__:
  - 84
  - 86
  soupsieve.css_types.Immutable.__setattr__:
  - 79
  soupsieve.css_types.Immutable.pretty:
  - 92
  - 94
  soupsieve.css_types.ImmutableDict:
  - 98
  soupsieve.css_types.ImmutableDict.__getitem__:
  - 130
  soupsieve.css_types.ImmutableDict.__hash__:
  - 135
  soupsieve.css_types.ImmutableDict.__init__:
  - 104
  - 106
  - 107
  - 108
  soupsieve.css_types.ImmutableDict.__iter__:
  - 120
  - 122
  soupsieve.css_types.ImmutableDict.__len__:
  - 125
  - 127
  soupsieve.css_types.ImmutableDict.__repr__:
  - 140
  soupsieve.css_types.ImmutableDict._validate:
  - 113
  - 114
  - 116
  - 111
  soupsieve.css_types.Namespaces:
  - 148
  soupsieve.css_types.Namespaces.__init__:
  - 153
  - 151
  soupsieve.css_types.Namespaces._validate:
  - 161
  - 156
  - 158
  - 159
  soupsieve.css_types.Selector:
  - 184
  soupsieve.css_types.Selector.__init__:
  - 217
  - 219
  soupsieve.css_types.SelectorAttribute:
  - 258
  soupsieve.css_types.SelectorAttribute.__init__:
  - 274
  - 276
  soupsieve.css_types.SelectorContains:
  - 285
  soupsieve.css_types.SelectorContains.__init__:
  - 293
  - 295
  soupsieve.css_types.SelectorLang:
  - 324
  soupsieve.css_types.SelectorLang.__getitem__:
  - 346
  soupsieve.css_types.SelectorLang.__init__:
  - 331
  - 333
  soupsieve.css_types.SelectorLang.__iter__:
  - 336
  - 338
  soupsieve.css_types.SelectorLang.__len__:
  - 341
  - 343
  soupsieve.css_types.SelectorList:
  - 352
  soupsieve.css_types.SelectorList.__getitem__:
  - 385
  soupsieve.css_types.SelectorList.__init__:
  - 368
  - 369
  - 366
  soupsieve.css_types.SelectorList.__iter__:
  - 377
  - 375
  soupsieve.css_types.SelectorList.__len__:
  - 380
  - 382
  soupsieve.css_types.SelectorNth:
  - 299
  soupsieve.css_types.SelectorNth.__init__:
  - 313
  - 311
  soupsieve.css_types.SelectorNull:
  - 235
  soupsieve.css_types.SelectorNull.__init__:
  - 240
  - 238
  soupsieve.css_types.SelectorTag:
  - 244
  soupsieve.css_types.SelectorTag.__init__:
  - 252
  - 254
  soupsieve.css_types._pickle:
  - 391
  soupsieve.css_types.pickle_register:
  - 395
  - 397
  soupsieve.escape:
  - 168
  - 166
  soupsieve.filter:
  - 116
  - 118
  soupsieve.iselect:
  - 160
  - 162
  soupsieve.match:
  - 104
  - 102
  soupsieve.pretty:
  - 1
  - 73
  - 74
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 83
  - 84
  - 85
  - 86
  - 87
  soupsieve.pretty.pretty:
  - 128
  - 129
  - 130
  - 132
  - 133
  - 134
  - 135
  - 136
  - 139
  - 109
  - 111
  - 113
  - 119
  - 120
  - 122
  - 124
  - 125
  - 127
  soupsieve.purge:
  - 74
  - 76
  soupsieve.select:
  - 145
  - 147
  soupsieve.select_one:
  - 130
  - 132
  soupsieve.util:
  - 1
  - 10
  - 12
  - 13
  - 16
  soupsieve.util.SelectorSyntaxError:
  - 28
  soupsieve.util.SelectorSyntaxError.__init__:
  - 39
  - 42
  - 37
  - 31
  soupsieve.util.deprecated:
  - 46
  soupsieve.util.deprecated._wrapper:
  - 57
  soupsieve.util.deprecated._wrapper._deprecated_func:
  - 64
  - 59
  soupsieve.util.get_pattern_context:
  - 96
  - 98
  - 103
  - 107
  - 108
  - 109
  - 110
  - 111
  - 80
  - 115
  - 117
  - 90
  - 91
  - 92
  soupsieve.util.lower:
  - 18
  - 21
  - 22
  - 23
  - 24
  soupsieve.util.warn_deprecated:
  - 72
  - 70
Fuzzer filename: /src/fuzz_select.py
Inheritance:
  bs4.BeautifulSoup:
  - Tag
  bs4.BeautifulStoneSoup:
  - BeautifulSoup
  bs4.FeatureNotFound:
  - ValueError
  bs4.GuessedAtParserWarning:
  - UserWarning
  bs4.MarkupResemblesLocatorWarning:
  - UserWarning
  bs4.StopParsing:
  - Exception
  bs4.builder.HTMLTreeBuilder:
  - TreeBuilder
  bs4.builder.ParserRejectedMarkup:
  - Exception
  bs4.builder.SAXTreeBuilder:
  - TreeBuilder
  bs4.builder.TreeBuilder:
  - object
  bs4.builder.TreeBuilderRegistry:
  - object
  bs4.builder._html5lib.AttrList:
  - object
  bs4.builder._html5lib.Element: []
  bs4.builder._html5lib.HTML5TreeBuilder:
  - HTMLTreeBuilder
  bs4.builder._html5lib.TextNode:
  - Element
  bs4.builder._html5lib.TreeBuilderForHtml5lib: []
  bs4.builder._htmlparser.BeautifulSoupHTMLParser:
  - HTMLParser
  bs4.builder._htmlparser.HTMLParseError:
  - Exception
  bs4.builder._htmlparser.HTMLParserTreeBuilder:
  - HTMLTreeBuilder
  bs4.builder._lxml.LXMLTreeBuilder:
  - HTMLTreeBuilder
  - LXMLTreeBuilderForXML
  bs4.builder._lxml.LXMLTreeBuilderForXML:
  - TreeBuilder
  bs4.dammit.EncodingDetector: []
  bs4.dammit.EntitySubstitution:
  - object
  bs4.dammit.UnicodeDammit: []
  bs4.diagnose.AnnouncingParser:
  - HTMLParser
  bs4.element.AttributeValueWithCharsetSubstitution:
  - str
  bs4.element.CData:
  - PreformattedString
  bs4.element.CharsetMetaAttributeValue:
  - AttributeValueWithCharsetSubstitution
  bs4.element.Comment:
  - PreformattedString
  bs4.element.ContentMetaAttributeValue:
  - AttributeValueWithCharsetSubstitution
  bs4.element.Declaration:
  - PreformattedString
  bs4.element.Doctype:
  - PreformattedString
  bs4.element.NamespacedAttribute:
  - str
  bs4.element.NavigableString:
  - str
  - PageElement
  bs4.element.PageElement:
  - object
  bs4.element.PreformattedString:
  - NavigableString
  bs4.element.ProcessingInstruction:
  - PreformattedString
  bs4.element.ResultSet:
  - list
  bs4.element.Script:
  - NavigableString
  bs4.element.SoupStrainer:
  - object
  bs4.element.Stylesheet:
  - NavigableString
  bs4.element.Tag:
  - PageElement
  bs4.element.TemplateString:
  - NavigableString
  bs4.element.XMLProcessingInstruction:
  - ProcessingInstruction
  bs4.formatter.Formatter:
  - EntitySubstitution
  bs4.formatter.HTMLFormatter:
  - Formatter
  bs4.formatter.XMLFormatter:
  - Formatter
  bs4.testing.HTML5TreeBuilderSmokeTest:
  - HTMLTreeBuilderSmokeTest
  bs4.testing.HTMLTreeBuilderSmokeTest:
  - TreeBuilderSmokeTest
  bs4.testing.SoupTest: []
  bs4.testing.TreeBuilderSmokeTest:
  - object
  bs4.testing.XMLTreeBuilderSmokeTest:
  - TreeBuilderSmokeTest
  soupsieve.__meta__.Version: []
  soupsieve.css_match.CSSMatch:
  - _DocumentNav
  soupsieve.css_match.Inputs: []
  soupsieve.css_match.SoupSieve: []
  soupsieve.css_match._DocumentNav: []
  soupsieve.css_match._FakeParent: []
  soupsieve.css_parser.CSSParser: []
  soupsieve.css_parser.SelectorPattern: []
  soupsieve.css_parser.SpecialPseudoPattern:
  - SelectorPattern
  soupsieve.css_parser._Selector: []
  soupsieve.css_types.CustomSelectors:
  - ImmutableDict
  soupsieve.css_types.Immutable: []
  soupsieve.css_types.ImmutableDict: []
  soupsieve.css_types.Namespaces:
  - ImmutableDict
  soupsieve.css_types.Selector:
  - Immutable
  soupsieve.css_types.SelectorAttribute:
  - Immutable
  soupsieve.css_types.SelectorContains:
  - Immutable
  soupsieve.css_types.SelectorLang:
  - Immutable
  soupsieve.css_types.SelectorList:
  - Immutable
  soupsieve.css_types.SelectorNth:
  - Immutable
  soupsieve.css_types.SelectorNull:
  - Immutable
  soupsieve.css_types.SelectorTag:
  - Immutable
  soupsieve.util.SelectorSyntaxError:
  - Exception
ep:
  func_name: TestOneInput
  module: '...fuzz_select'
