# Path: mako/lexer.py
# class Lexer:
#     def __init__(
#         self, text, filename=None, input_encoding=None, preprocessor=None
#     ):
#     def exception_kwargs(self):
#     def match(self, regexp, flags=None):
#     def match_reg(self, reg):
#     def parse_until_text(self, watch_nesting, *text):
#     def append_node(self, nodecls, *args, **kwargs):
#     def decode_raw_stream(self, text, decode_raw, known_encoding, filename):
#     def parse(self):
#     def match_tag_start(self):
#     def match_tag_end(self):
#     def match_end(self):
#     def match_text(self):
#     def match_python_block(self):
#     def match_expression(self):
#     def match_control_line(self):
#     def match_comment(self):
# 
# Path: mako/parsetree.py
# class Node:
# class TemplateNode(Node):
# class ControlLine(Node):
# class Text(Node):
# class Code(Node):
# class Comment(Node):
# class Expression(Node):
# class _TagMeta(type):
# class Tag(Node, metaclass=_TagMeta):
# class IncludeTag(Tag):
# class NamespaceTag(Tag):
# class TextTag(Tag):
# class DefTag(Tag):
# class BlockTag(Tag):
# class CallTag(Tag):
# class CallNamespaceTag(Tag):
# class InheritTag(Tag):
# class PageTag(Tag):
#     def __init__(self, source, lineno, pos, filename):
#     def exception_kwargs(self):
#     def get_children(self):
#     def accept_visitor(self, visitor):
#         def traverse(node):
#     def __init__(self, filename):
#     def get_children(self):
#     def __repr__(self):
#     def __init__(self, keyword, isend, text, **kwargs):
#     def get_children(self):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def is_ternary(self, keyword):
#     def __repr__(self):
#     def __init__(self, content, **kwargs):
#     def __repr__(self):
#     def __init__(self, text, ismodule, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __repr__(self):
#     def __init__(self, text, **kwargs):
#     def __repr__(self):
#     def __init__(self, text, escapes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __repr__(self):
#     def __init__(cls, clsname, bases, dict_):
#     def __call__(cls, keyword, attributes, **kwargs):
#     def __init__(
#         self,
#         keyword,
#         attributes,
#         expressions,
#         nonexpressions,
#         required,
#         **kwargs,
#     ):
#     def is_root(self):
#     def get_children(self):
#     def _parse_attributes(self, expressions, nonexpressions):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __repr__(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def funcname(self):
#     def get_argument_expressions(self, **kw):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def is_anonymous(self):
#     def funcname(self):
#     def get_argument_expressions(self, **kw):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, namespace, defname, attributes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):


from io import BytesIO
from io import StringIO
from mako import lexer
from mako import parsetree
import re

            if isinstance(node, parsetree.Comment):
                value = node.text.strip()
                if in_translator_comments:
                    translator_comments.extend(
                        self._split_comment(node.lineno, value)
                    )
                    continue
                for comment_tag in comment_tags:
                    if value.startswith(comment_tag):
                        in_translator_comments = True
                        translator_comments.extend(
                            self._split_comment(node.lineno, value)
                        )
                continue

            if isinstance(node, parsetree.DefTag):
                code = node.function_decl.code
                child_nodes = node.nodes
            elif isinstance(node, parsetree.BlockTag):
                code = node.body_decl.code
                child_nodes = node.nodes
            elif isinstance(node, parsetree.CallTag):
                code = node.code.code
                child_nodes = node.nodes
            elif isinstance(node, parsetree.PageTag):
                code = node.body_decl.code
            elif isinstance(node, parsetree.CallNamespaceTag):
                code = node.expression
                child_nodes = node.nodes

# Path: mako/lexer.py
# class Lexer:
#     def __init__(
#         self, text, filename=None, input_encoding=None, preprocessor=None
#     ):
#     def exception_kwargs(self):
#     def match(self, regexp, flags=None):
#     def match_reg(self, reg):
#     def parse_until_text(self, watch_nesting, *text):
#     def append_node(self, nodecls, *args, **kwargs):
#     def decode_raw_stream(self, text, decode_raw, known_encoding, filename):
#     def parse(self):
#     def match_tag_start(self):
#     def match_tag_end(self):
#     def match_end(self):
#     def match_text(self):
#     def match_python_block(self):
#     def match_expression(self):
#     def match_control_line(self):
#     def match_comment(self):
# 
# Path: mako/parsetree.py
# class Node:
# class TemplateNode(Node):
# class ControlLine(Node):
# class Text(Node):
# class Code(Node):
# class Comment(Node):
# class Expression(Node):
# class _TagMeta(type):
# class Tag(Node, metaclass=_TagMeta):
# class IncludeTag(Tag):
# class NamespaceTag(Tag):
# class TextTag(Tag):
# class DefTag(Tag):
# class BlockTag(Tag):
# class CallTag(Tag):
# class CallNamespaceTag(Tag):
# class InheritTag(Tag):
# class PageTag(Tag):
#     def __init__(self, source, lineno, pos, filename):
#     def exception_kwargs(self):
#     def get_children(self):
#     def accept_visitor(self, visitor):
#         def traverse(node):
#     def __init__(self, filename):
#     def get_children(self):
#     def __repr__(self):
#     def __init__(self, keyword, isend, text, **kwargs):
#     def get_children(self):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def is_ternary(self, keyword):
#     def __repr__(self):
#     def __init__(self, content, **kwargs):
#     def __repr__(self):
#     def __init__(self, text, ismodule, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __repr__(self):
#     def __init__(self, text, **kwargs):
#     def __repr__(self):
#     def __init__(self, text, escapes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __repr__(self):
#     def __init__(cls, clsname, bases, dict_):
#     def __call__(cls, keyword, attributes, **kwargs):
#     def __init__(
#         self,
#         keyword,
#         attributes,
#         expressions,
#         nonexpressions,
#         required,
#         **kwargs,
#     ):
#     def is_root(self):
#     def get_children(self):
#     def _parse_attributes(self, expressions, nonexpressions):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __repr__(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def funcname(self):
#     def get_argument_expressions(self, **kw):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def is_anonymous(self):
#     def funcname(self):
#     def get_argument_expressions(self, **kw):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, namespace, defname, attributes, **kwargs):
#     def declared_identifiers(self):
#     def undeclared_identifiers(self):
#     def __init__(self, keyword, attributes, **kwargs):
#     def __init__(self, keyword, attributes, **kwargs):
#     def declared_identifiers(self):


# Path: mako/ext/extract.py
from io import BytesIO
from io import StringIO
from mako import lexer
from mako import parsetree
import re


            if isinstance(node, parsetree.Comment):
                value = node.text.strip()
                if in_translator_comments:
                    translator_comments.extend(
                        self._split_comment(node.lineno, value)
                    )
                    continue
                for comment_tag in comment_tags:
                    if value.startswith(comment_tag):
                        in_translator_comments = True
                        translator_comments.extend(
                            self._split_comment(node.lineno, value)
                        )
                continue

            if isinstance(node, parsetree.DefTag):
                code = node.function_decl.code
                child_nodes = node.nodes
            elif isinstance(node, parsetree.BlockTag):
                code = node.body_decl.code
                child_nodes = node.nodes
            elif isinstance(node, parsetree.CallTag):
                code = node.code.code
                child_nodes = node.nodes
            elif isinstance(node, parsetree.PageTag):
                code = node.body_decl.code
            elif isinstance(node, parsetree.CallNamespaceTag):
                code = node.expression
                child_nodes = node.nodes

            elif isinstance(node, parsetree.ControlLine):