# Path: mako/ast.py
# class PythonCode:
# class ArgumentList:
# class PythonFragment(PythonCode):
# class FunctionDecl:
# class FunctionArgs(FunctionDecl):
#     def __init__(self, code, **exception_kwargs):
#     def __init__(self, code, **exception_kwargs):
#     def __init__(self, code, **exception_kwargs):
#     def __init__(self, code, allow_kwargs=True, **exception_kwargs):
#     def get_argument_expressions(self, as_call=False):
#     def allargnames(self):
#     def __init__(self, code, **kwargs):
# 
# Path: mako/exceptions.py
# class MakoException(Exception):
# class RuntimeException(MakoException):
# class CompileException(MakoException):
# class SyntaxException(MakoException):
# class UnsupportedError(MakoException):
# class NameConflictError(MakoException):
# class TemplateLookupException(MakoException):
# class TopLevelLookupException(TemplateLookupException):
# class RichTraceback:
# def _format_filepos(lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, error=None, traceback=None):
#     def errorname(self):
#     def _init_message(self):
#     def _get_reformatted_records(self, records):
#     def traceback(self):
#     def reverse_records(self):
#     def reverse_traceback(self):
#     def _init(self, trcback):
# def text_error_template(lookup=None):
# def _install_pygments():
# def _install_fallback():
#     def syntax_highlight(filename="", language=None):
# def _install_highlighting():
# def html_error_template():
# 
# Path: mako/filters.py
# def xml_escape(string):
# def url_escape(string):
# def trim(string):
#     def __getattr__(self, key):
#         def decode(x):
#     def __init__(self, codepoint2name, name2codepoint):
#     def escape_entities(self, text):
#     def __escape(self, m):
#     def escape(self, text):
#     def __unescape(self, m):
#     def unescape(self, text):
# def htmlentityreplace_errors(ex):
# class Decode:
# class XMLEntityEscaper:
# DEFAULT_ESCAPES = {
#     "x": "filters.xml_escape",
#     "h": "filters.html_escape",
#     "u": "filters.url_escape",
#     "trim": "filters.trim",
#     "entity": "filters.html_entities_escape",
#     "unicode": "str",
#     "decode": "decode",
#     "str": "str",
#     "n": "n",
# }
# 
# Path: mako/util.py
# def update_wrapper(decorated, fn):
#     def __init__(self, group):
#     def load(self, name):
#     def register(self, name, modulepath, objname):
#         def load():
# def verify_directory(dir_):
# def to_list(x, default=None):
#     def __init__(self, fget, doc=None):
#     def __get__(self, obj, cls):
#     def __init__(self, fget, doc=None):
#     def __get__(self, obj, cls):
#         def oneshot(*args, **kw):
#             def memo(*a, **kw):
#     def union(self, other):
#     def __init__(self, encoding=None, errors="strict"):
#     def truncate(self):
#     def getvalue(self):
#         def __init__(self, key, value):
#         def __repr__(self):
#     def __init__(self, capacity, threshold=0.5):
#     def __getitem__(self, key):
#     def values(self):
#     def setdefault(self, key, value):
#     def __setitem__(self, key, value):
#     def _manage_size(self):
# def parse_encoding(fp):
# def sorted_dict_repr(d):
# def restore__ast(_ast):
# def read_file(path, mode="rb"):
# def read_python_file(path):
# class PluginLoader:
# class memoized_property:
# class memoized_instancemethod:
# class SetLikeDict(dict):
# class FastEncodingBuffer:
# class LRUCache(dict):
#     class _Item:


import re
from mako import ast
from mako import exceptions
from mako import filters
from mako import util
        self.text = text
        self.keyword = keyword
        self.isend = isend
        self.is_primary = keyword in ["for", "if", "while", "try", "with"]
        self.nodes = []
        if self.isend:
            self._declared_identifiers = []
            self._undeclared_identifiers = []
        else:
            code = ast.PythonFragment(text, **self.exception_kwargs)
            self._declared_identifiers = code.declared_identifiers
            self._undeclared_identifiers = code.undeclared_identifiers

    def get_children(self):
        return self.nodes

    def declared_identifiers(self):
        return self._declared_identifiers

    def undeclared_identifiers(self):
        return self._undeclared_identifiers

    def is_ternary(self, keyword):
        """return true if the given keyword is a ternary keyword
        for this ControlLine"""

        cases = {
            "if": {"else", "elif"},
            "try": {"except", "finally"},
            "for": {"else"},

# Path: mako/ast.py
# class PythonCode:
# class ArgumentList:
# class PythonFragment(PythonCode):
# class FunctionDecl:
# class FunctionArgs(FunctionDecl):
#     def __init__(self, code, **exception_kwargs):
#     def __init__(self, code, **exception_kwargs):
#     def __init__(self, code, **exception_kwargs):
#     def __init__(self, code, allow_kwargs=True, **exception_kwargs):
#     def get_argument_expressions(self, as_call=False):
#     def allargnames(self):
#     def __init__(self, code, **kwargs):
# 
# Path: mako/exceptions.py
# class MakoException(Exception):
# class RuntimeException(MakoException):
# class CompileException(MakoException):
# class SyntaxException(MakoException):
# class UnsupportedError(MakoException):
# class NameConflictError(MakoException):
# class TemplateLookupException(MakoException):
# class TopLevelLookupException(TemplateLookupException):
# class RichTraceback:
# def _format_filepos(lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, error=None, traceback=None):
#     def errorname(self):
#     def _init_message(self):
#     def _get_reformatted_records(self, records):
#     def traceback(self):
#     def reverse_records(self):
#     def reverse_traceback(self):
#     def _init(self, trcback):
# def text_error_template(lookup=None):
# def _install_pygments():
# def _install_fallback():
#     def syntax_highlight(filename="", language=None):
# def _install_highlighting():
# def html_error_template():
# 
# Path: mako/filters.py
# def xml_escape(string):
# def url_escape(string):
# def trim(string):
#     def __getattr__(self, key):
#         def decode(x):
#     def __init__(self, codepoint2name, name2codepoint):
#     def escape_entities(self, text):
#     def __escape(self, m):
#     def escape(self, text):
#     def __unescape(self, m):
#     def unescape(self, text):
# def htmlentityreplace_errors(ex):
# class Decode:
# class XMLEntityEscaper:
# DEFAULT_ESCAPES = {
#     "x": "filters.xml_escape",
#     "h": "filters.html_escape",
#     "u": "filters.url_escape",
#     "trim": "filters.trim",
#     "entity": "filters.html_entities_escape",
#     "unicode": "str",
#     "decode": "decode",
#     "str": "str",
#     "n": "n",
# }
# 
# Path: mako/util.py
# def update_wrapper(decorated, fn):
#     def __init__(self, group):
#     def load(self, name):
#     def register(self, name, modulepath, objname):
#         def load():
# def verify_directory(dir_):
# def to_list(x, default=None):
#     def __init__(self, fget, doc=None):
#     def __get__(self, obj, cls):
#     def __init__(self, fget, doc=None):
#     def __get__(self, obj, cls):
#         def oneshot(*args, **kw):
#             def memo(*a, **kw):
#     def union(self, other):
#     def __init__(self, encoding=None, errors="strict"):
#     def truncate(self):
#     def getvalue(self):
#         def __init__(self, key, value):
#         def __repr__(self):
#     def __init__(self, capacity, threshold=0.5):
#     def __getitem__(self, key):
#     def values(self):
#     def setdefault(self, key, value):
#     def __setitem__(self, key, value):
#     def _manage_size(self):
# def parse_encoding(fp):
# def sorted_dict_repr(d):
# def restore__ast(_ast):
# def read_file(path, mode="rb"):
# def read_python_file(path):
# class PluginLoader:
# class memoized_property:
# class memoized_instancemethod:
# class SetLikeDict(dict):
# class FastEncodingBuffer:
# class LRUCache(dict):
#     class _Item:


# Path: mako/parsetree.py
import re
from mako import ast
from mako import exceptions
from mako import filters
from mako import util

        self.text = text
        self.keyword = keyword
        self.isend = isend
        self.is_primary = keyword in ["for", "if", "while", "try", "with"]
        self.nodes = []
        if self.isend:
            self._declared_identifiers = []
            self._undeclared_identifiers = []
        else:
            code = ast.PythonFragment(text, **self.exception_kwargs)
            self._declared_identifiers = code.declared_identifiers
            self._undeclared_identifiers = code.undeclared_identifiers

    def get_children(self):
        return self.nodes

    def declared_identifiers(self):
        return self._declared_identifiers

    def undeclared_identifiers(self):
        return self._undeclared_identifiers

    def is_ternary(self, keyword):
        """return true if the given keyword is a ternary keyword
        for this ControlLine"""

        cases = {
            "if": {"else", "elif"},
            "try": {"except", "finally"},
            "for": {"else"},

        }