Str: (str,),
    Bytes: (bytes,),
    NameConstant: (type(None), bool),
    Ellipsis: (type(...),),
}
_const_types_not = {
    Num: (bool,),
}
_const_node_type_names = {
    bool: 'NameConstant',  # should be before int
    type(None): 'NameConstant',
    int: 'Num',
    float: 'Num',
    complex: 'Num',
    str: 'Str',
    bytes: 'Bytes',
    type(...): 'Ellipsis',
}
class slice(AST):
    """Deprecated AST node class."""
class Index(slice):
    """Deprecated AST node class. Use the index value directly instead."""
    def __new__(cls, value, **kwargs):
        return value
class ExtSlice(slice):
    """Deprecated AST node class. Use ast.Tuple instead."""
    def __new__(cls, dims=(), **kwargs):
        return Tuple(list(dims), Load(), **kwargs)
# If the ast module is loaded more than once, only add deprecated methods once
if not hasattr(Tuple, 'dims'):
    # The following code is for backward compatibility.
    # It will be removed in future.
    def _dims_getter(self):
        """Deprecated. Use elts instead."""
        return self.elts
    def _dims_setter(self, value):
        self.elts = value
    Tuple.dims = property(_dims_getter, _dims_setter)
class Suite(mod):
    """Deprecated AST node class.  Unused in Python 3."""
class AugLoad(expr_context):
    """Deprecated AST node class.  Unused in Python 3."""
class AugStore(expr_context):
    """Deprecated AST node class.  Unused in Python 3."""